![](/media/cache/profiles/1becf26e9f32353e30870060538746e7.50x50_q85.jpg)
Driver for controlling Renishaw RenBuggy
Dependencies: SevenSegmentDisplay DCMotorDrive mbed MotorController
Diff: main.cpp
- Revision:
- 0:ae927e3c7264
- Child:
- 1:919b214c583c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Dec 24 10:18:37 2013 +0000 @@ -0,0 +1,42 @@ +/******************************************************************************* +* This program demonstrates how to drive the seven segment display * +* * +* Jon Fuge * +* V1.0 24/12/2013 First issue of code * +*******************************************************************************/ + +#include "mbed.h" +#include "SevenSegmentDisplay.h" + +uint8_t ui8Tens = 0, ui8Units = 0; + +SevenSegmentDisplay segmentled( FADE ); // add + FLASH to flash display, or INSTANT + +void attimeout(); //declare prototype for timeout handler. + +Ticker timeout; //Create an instance of class Ticker called timeout. + +int main() +{ + //segmentled.FlashRate(100); + timeout.attach_us(&attimeout, 500000); // Set up interrupt to call attimeout() every half a second. + + for(;;) { + } +} + +void attimeout() //Timer interrupt routine. +{ + ui8Units ^= 0x80; + if ((ui8Units & 0x80) == 0) { + ui8Units++; // This means the same as D_7seg[0] = D_7seg[0] + 1; Increment "units" + if (ui8Units > 36) { // "units" digit should be in the range 0 -> 9 + ui8Units = 0; // Reset the "units" to 0 + ui8Tens++; // Increment "tens" digit + if (ui8Tens > 36) { // "tens" digit should be in the range 0 -> 9 + ui8Tens = 0; // Reset the "tens" to 0 + } + } + } + segmentled.SevenSegmentDisplayChange(ui8Tens, ui8Units); // Keep the displays multiplexed. +}