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.

Dependencies:   microbit

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?

UserRevisionLine numberNew 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 }