This program is blinking the LED by interrupt timer.
Dependencies: mbed
main.cpp@0:5a2587aa8b79, 2016-09-02 (annotated)
- Committer:
- TetsuyaKonno
- Date:
- Fri Sep 02 06:35:04 2016 +0000
- Revision:
- 0:5a2587aa8b79
First program
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
TetsuyaKonno | 0:5a2587aa8b79 | 1 | //------------------------------------------------------------------// |
TetsuyaKonno | 0:5a2587aa8b79 | 2 | //Supported MCU: RZ/A1H |
TetsuyaKonno | 0:5a2587aa8b79 | 3 | //File Contents: Interrupt Timer LED (GR-PEACH version) |
TetsuyaKonno | 0:5a2587aa8b79 | 4 | //Version number: Ver.1.00 |
TetsuyaKonno | 0:5a2587aa8b79 | 5 | //Date: 2016.01.18 |
TetsuyaKonno | 0:5a2587aa8b79 | 6 | //Copyright: Renesas Electronics Corporation |
TetsuyaKonno | 0:5a2587aa8b79 | 7 | //------------------------------------------------------------------// |
TetsuyaKonno | 0:5a2587aa8b79 | 8 | |
TetsuyaKonno | 0:5a2587aa8b79 | 9 | //Include |
TetsuyaKonno | 0:5a2587aa8b79 | 10 | //------------------------------------------------------------------// |
TetsuyaKonno | 0:5a2587aa8b79 | 11 | #include "mbed.h" |
TetsuyaKonno | 0:5a2587aa8b79 | 12 | |
TetsuyaKonno | 0:5a2587aa8b79 | 13 | //Constructor |
TetsuyaKonno | 0:5a2587aa8b79 | 14 | //------------------------------------------------------------------// |
TetsuyaKonno | 0:5a2587aa8b79 | 15 | Ticker interrput; |
TetsuyaKonno | 0:5a2587aa8b79 | 16 | DigitalOut LED_R(LED1); |
TetsuyaKonno | 0:5a2587aa8b79 | 17 | DigitalOut LED_G(LED2); |
TetsuyaKonno | 0:5a2587aa8b79 | 18 | DigitalOut LED_B(LED3); |
TetsuyaKonno | 0:5a2587aa8b79 | 19 | |
TetsuyaKonno | 0:5a2587aa8b79 | 20 | //Prototype |
TetsuyaKonno | 0:5a2587aa8b79 | 21 | //------------------------------------------------------------------// |
TetsuyaKonno | 0:5a2587aa8b79 | 22 | void intTimer( void ); /* Interrupt fanction */ |
TetsuyaKonno | 0:5a2587aa8b79 | 23 | void timer( unsigned long timer_set ); |
TetsuyaKonno | 0:5a2587aa8b79 | 24 | |
TetsuyaKonno | 0:5a2587aa8b79 | 25 | //Globle |
TetsuyaKonno | 0:5a2587aa8b79 | 26 | //------------------------------------------------------------------// |
TetsuyaKonno | 0:5a2587aa8b79 | 27 | volatile unsigned long cnt_timer; /* Used by timer function */ |
TetsuyaKonno | 0:5a2587aa8b79 | 28 | |
TetsuyaKonno | 0:5a2587aa8b79 | 29 | //Main |
TetsuyaKonno | 0:5a2587aa8b79 | 30 | //------------------------------------------------------------------// |
TetsuyaKonno | 0:5a2587aa8b79 | 31 | int main( void ) |
TetsuyaKonno | 0:5a2587aa8b79 | 32 | { |
TetsuyaKonno | 0:5a2587aa8b79 | 33 | /* Initialize MCU functions */ |
TetsuyaKonno | 0:5a2587aa8b79 | 34 | interrput.attach(&intTimer, 0.001); |
TetsuyaKonno | 0:5a2587aa8b79 | 35 | |
TetsuyaKonno | 0:5a2587aa8b79 | 36 | while(1) { |
TetsuyaKonno | 0:5a2587aa8b79 | 37 | LED_R = 1; |
TetsuyaKonno | 0:5a2587aa8b79 | 38 | timer( 1000 ); |
TetsuyaKonno | 0:5a2587aa8b79 | 39 | LED_R = 0; |
TetsuyaKonno | 0:5a2587aa8b79 | 40 | timer( 1000 ); |
TetsuyaKonno | 0:5a2587aa8b79 | 41 | } |
TetsuyaKonno | 0:5a2587aa8b79 | 42 | } |
TetsuyaKonno | 0:5a2587aa8b79 | 43 | |
TetsuyaKonno | 0:5a2587aa8b79 | 44 | //Interrupt Timer |
TetsuyaKonno | 0:5a2587aa8b79 | 45 | //------------------------------------------------------------------// |
TetsuyaKonno | 0:5a2587aa8b79 | 46 | void intTimer( void ) |
TetsuyaKonno | 0:5a2587aa8b79 | 47 | { |
TetsuyaKonno | 0:5a2587aa8b79 | 48 | cnt_timer++; |
TetsuyaKonno | 0:5a2587aa8b79 | 49 | } |
TetsuyaKonno | 0:5a2587aa8b79 | 50 | |
TetsuyaKonno | 0:5a2587aa8b79 | 51 | //Timer fanction |
TetsuyaKonno | 0:5a2587aa8b79 | 52 | //------------------------------------------------------------------// |
TetsuyaKonno | 0:5a2587aa8b79 | 53 | void timer( unsigned long timer_set ) |
TetsuyaKonno | 0:5a2587aa8b79 | 54 | { |
TetsuyaKonno | 0:5a2587aa8b79 | 55 | cnt_timer = 0; |
TetsuyaKonno | 0:5a2587aa8b79 | 56 | while( cnt_timer < timer_set ); |
TetsuyaKonno | 0:5a2587aa8b79 | 57 | } |
TetsuyaKonno | 0:5a2587aa8b79 | 58 | |
TetsuyaKonno | 0:5a2587aa8b79 | 59 | //------------------------------------------------------------------// |
TetsuyaKonno | 0:5a2587aa8b79 | 60 | // End of file |
TetsuyaKonno | 0:5a2587aa8b79 | 61 | //------------------------------------------------------------------// |