For NTHU_Racing MCU tutorial Learn to use timer inturrupt
Dependencies: mbed
main.cpp@2:d8165b8ea789, 2017-01-20 (annotated)
- Committer:
- open4416
- Date:
- Fri Jan 20 14:13:02 2017 +0000
- Revision:
- 2:d8165b8ea789
- Parent:
- sample_timebase.cpp@1:5968363c5d23
some trim nothing new
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
open4416 | 0:d68e088dfbcd | 1 | #include "mbed.h" |
open4416 | 0:d68e088dfbcd | 2 | |
open4416 | 0:d68e088dfbcd | 3 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~GPIO registor~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// |
open4416 | 0:d68e088dfbcd | 4 | DigitalOut led = D13; //link leg |
open4416 | 0:d68e088dfbcd | 5 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~end of GPIO registor~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// |
open4416 | 0:d68e088dfbcd | 6 | |
open4416 | 0:d68e088dfbcd | 7 | |
open4416 | 0:d68e088dfbcd | 8 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~Varible registor~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// |
open4416 | 1:5968363c5d23 | 9 | Ticker TT1; //call a timer |
open4416 | 1:5968363c5d23 | 10 | Ticker TT2; //call a timer |
open4416 | 0:d68e088dfbcd | 11 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~end of Varible registor~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// |
open4416 | 0:d68e088dfbcd | 12 | |
open4416 | 0:d68e088dfbcd | 13 | |
open4416 | 0:d68e088dfbcd | 14 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~Function registor~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// |
open4416 | 0:d68e088dfbcd | 15 | void init_IO(); //initialize IO state |
open4416 | 0:d68e088dfbcd | 16 | void init_TIMER(); //set TT_main{} rate |
open4416 | 1:5968363c5d23 | 17 | void TT1_main(); //timebase function rated by TT1 |
open4416 | 1:5968363c5d23 | 18 | void TT2_main(); //timebase function rated by TT2 |
open4416 | 0:d68e088dfbcd | 19 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~end of Function registor~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// |
open4416 | 0:d68e088dfbcd | 20 | |
open4416 | 0:d68e088dfbcd | 21 | |
open4416 | 0:d68e088dfbcd | 22 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~main funtion~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// |
open4416 | 0:d68e088dfbcd | 23 | int main() |
open4416 | 0:d68e088dfbcd | 24 | { |
open4416 | 0:d68e088dfbcd | 25 | init_IO(); //initialized value |
open4416 | 1:5968363c5d23 | 26 | init_TIMER(); //initialized Timer Inturrupt rate |
open4416 | 0:d68e088dfbcd | 27 | |
open4416 | 0:d68e088dfbcd | 28 | while(1) { //main() loop |
open4416 | 0:d68e088dfbcd | 29 | } |
open4416 | 0:d68e088dfbcd | 30 | } |
open4416 | 0:d68e088dfbcd | 31 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~end of main funtion~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// |
open4416 | 0:d68e088dfbcd | 32 | |
open4416 | 0:d68e088dfbcd | 33 | |
open4416 | 0:d68e088dfbcd | 34 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~init_IO funtion~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// |
open4416 | 0:d68e088dfbcd | 35 | void init_IO(void) //initialize |
open4416 | 0:d68e088dfbcd | 36 | { |
open4416 | 0:d68e088dfbcd | 37 | led = 1; |
open4416 | 0:d68e088dfbcd | 38 | } |
open4416 | 0:d68e088dfbcd | 39 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~end of init_IO funtion~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// |
open4416 | 0:d68e088dfbcd | 40 | |
open4416 | 0:d68e088dfbcd | 41 | |
open4416 | 0:d68e088dfbcd | 42 | |
open4416 | 0:d68e088dfbcd | 43 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~Timebase funtion~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// |
open4416 | 1:5968363c5d23 | 44 | void init_TIMER() //set TTx_main{} rate |
open4416 | 0:d68e088dfbcd | 45 | { |
open4416 | 1:5968363c5d23 | 46 | TT1.attach_us(&TT1_main, 1000); |
open4416 | 2:d8165b8ea789 | 47 | TT2.attach_us(&TT2_main, 1001); |
open4416 | 0:d68e088dfbcd | 48 | } |
open4416 | 0:d68e088dfbcd | 49 | |
open4416 | 1:5968363c5d23 | 50 | void TT1_main() //interrupt function by TT1 |
open4416 | 0:d68e088dfbcd | 51 | { |
open4416 | 1:5968363c5d23 | 52 | led = !led; |
open4416 | 1:5968363c5d23 | 53 | } |
open4416 | 1:5968363c5d23 | 54 | |
open4416 | 2:d8165b8ea789 | 55 | void TT2_main() //interrupt function by TT2 |
open4416 | 1:5968363c5d23 | 56 | { |
open4416 | 1:5968363c5d23 | 57 | led = !led; |
open4416 | 0:d68e088dfbcd | 58 | } |
open4416 | 0:d68e088dfbcd | 59 | //~~~~~~~~~~~~~~~~~~~~~~~~~~~end of Timebase funtion~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// |