Binary counter from 0 to (2^25)-1 with wraparound. Bits are displayed on the LED matrix, filling from bottom right. Press buttonA for a decimal representation of the current counter value.
main.cpp@0:f5e7d4075c2a, 2018-07-24 (annotated)
- Committer:
- davidrainford
- Date:
- Tue Jul 24 14:28:18 2018 +0000
- Revision:
- 0:f5e7d4075c2a
Binary counter from 0 to (2^25)-1 with wraparound. Bits are displayed on the LED matrix, filling from bottom right. Press buttonA for a decimal representation of the current counter value.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
davidrainford | 0:f5e7d4075c2a | 1 | #include "MicroBit.h" |
davidrainford | 0:f5e7d4075c2a | 2 | |
davidrainford | 0:f5e7d4075c2a | 3 | MicroBit uBit; |
davidrainford | 0:f5e7d4075c2a | 4 | |
davidrainford | 0:f5e7d4075c2a | 5 | int main() |
davidrainford | 0:f5e7d4075c2a | 6 | { |
davidrainford | 0:f5e7d4075c2a | 7 | char col[25] = {4, 3, 2, 1, 0, 4, 3, 2, 1, 0, 4, 3, 2, 1, 0, 4, 3, 2, 1, 0, 4, 3, 2, 1, 0}; |
davidrainford | 0:f5e7d4075c2a | 8 | char row[25] = {4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0}; |
davidrainford | 0:f5e7d4075c2a | 9 | int i, count = 0; |
davidrainford | 0:f5e7d4075c2a | 10 | uBit.init(); |
davidrainford | 0:f5e7d4075c2a | 11 | while (1) { |
davidrainford | 0:f5e7d4075c2a | 12 | for (i = 0; i < 25; i++) { |
davidrainford | 0:f5e7d4075c2a | 13 | uBit.display.image.setPixelValue(col[i], row[i], ((count >> i) & 1) * 255); |
davidrainford | 0:f5e7d4075c2a | 14 | } |
davidrainford | 0:f5e7d4075c2a | 15 | if (uBit.buttonA.isPressed()) { |
davidrainford | 0:f5e7d4075c2a | 16 | uBit.display.scroll(count); |
davidrainford | 0:f5e7d4075c2a | 17 | } |
davidrainford | 0:f5e7d4075c2a | 18 | count = count++ & 33554431; |
davidrainford | 0:f5e7d4075c2a | 19 | } |
davidrainford | 0:f5e7d4075c2a | 20 | } |