![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Embedded software Assessment 2
Dependencies: MCP23017 SDFileSystem USBDevice WattBob_TextLCD mbed
Function.h@5:99cf489dcae4, 2014-02-15 (annotated)
- Committer:
- muaiyd
- Date:
- Sat Feb 15 19:12:16 2014 +0000
- Revision:
- 5:99cf489dcae4
- Parent:
- 4:4bb228d1f6c2
- Child:
- 6:7c31aabc2533
interrupt test
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
muaiyd | 0:86bba6bf9b6f | 1 | #include "MCP23017.h" |
muaiyd | 0:86bba6bf9b6f | 2 | #include "WattBob_TextLCD.h" |
muaiyd | 0:86bba6bf9b6f | 3 | #include "mbed.h" |
muaiyd | 0:86bba6bf9b6f | 4 | |
muaiyd | 0:86bba6bf9b6f | 5 | MCP23017 Port(p9,p10,0x40) ; // 16-bit parallel I/O object |
muaiyd | 0:86bba6bf9b6f | 6 | WattBob_TextLCD LCD(&Port); // pointer to 2*16 chacater LCD object |
muaiyd | 0:86bba6bf9b6f | 7 | |
muaiyd | 1:9a3cfeca7ecd | 8 | Timer TimeA; |
muaiyd | 4:4bb228d1f6c2 | 9 | Ticker CallFunction1; |
muaiyd | 4:4bb228d1f6c2 | 10 | Ticker CallFunction2; |
muaiyd | 4:4bb228d1f6c2 | 11 | Ticker CallFunction3; |
muaiyd | 4:4bb228d1f6c2 | 12 | Ticker CallFunction4; |
muaiyd | 4:4bb228d1f6c2 | 13 | Ticker CallFunction5; |
muaiyd | 4:4bb228d1f6c2 | 14 | Ticker CallFunction6; |
muaiyd | 4:4bb228d1f6c2 | 15 | Ticker CallFunction7; |
muaiyd | 1:9a3cfeca7ecd | 16 | |
muaiyd | 4:4bb228d1f6c2 | 17 | DigitalOut led1(LED1); |
muaiyd | 4:4bb228d1f6c2 | 18 | DigitalOut led2(LED2); |
muaiyd | 4:4bb228d1f6c2 | 19 | DigitalOut led3(LED3); |
muaiyd | 4:4bb228d1f6c2 | 20 | DigitalOut led4(LED4); |
muaiyd | 5:99cf489dcae4 | 21 | |
muaiyd | 5:99cf489dcae4 | 22 | InterruptIn FrequencyIn(p5); |
muaiyd | 0:86bba6bf9b6f | 23 | void Write_LCD(const char STR[],int8_t PY,int8_t PX,bool clr){ |
muaiyd | 0:86bba6bf9b6f | 24 | if(clr) |
muaiyd | 0:86bba6bf9b6f | 25 | LCD.cls(); |
muaiyd | 0:86bba6bf9b6f | 26 | LCD.locate(PY,PX); |
muaiyd | 0:86bba6bf9b6f | 27 | LCD.printf(STR); |
muaiyd | 0:86bba6bf9b6f | 28 | } |
muaiyd | 0:86bba6bf9b6f | 29 | |
muaiyd | 0:86bba6bf9b6f | 30 | void Init_LCD(){ |
muaiyd | 0:86bba6bf9b6f | 31 | Port.write_bit(1,BL_BIT); |
muaiyd | 0:86bba6bf9b6f | 32 | Write_LCD("Muaiyd",0,4,1); |
muaiyd | 0:86bba6bf9b6f | 33 | Write_LCD("Heriot-Watt Uni.",1,0,0); |
muaiyd | 4:4bb228d1f6c2 | 34 | } |
muaiyd | 4:4bb228d1f6c2 | 35 | |
muaiyd | 4:4bb228d1f6c2 | 36 | void job1(){ |
muaiyd | 4:4bb228d1f6c2 | 37 | Write_LCD("2 S",0,0,1); |
muaiyd | 4:4bb228d1f6c2 | 38 | led1=!led1; |
muaiyd | 4:4bb228d1f6c2 | 39 | } |
muaiyd | 4:4bb228d1f6c2 | 40 | |
muaiyd | 4:4bb228d1f6c2 | 41 | void job2(){ |
muaiyd | 4:4bb228d1f6c2 | 42 | Write_LCD("4 S",0,5,0); |
muaiyd | 4:4bb228d1f6c2 | 43 | led2=!led2; |
muaiyd | 4:4bb228d1f6c2 | 44 | } |
muaiyd | 4:4bb228d1f6c2 | 45 | |
muaiyd | 4:4bb228d1f6c2 | 46 | void job3(){ |
muaiyd | 4:4bb228d1f6c2 | 47 | Write_LCD("6 S",0,9,0); |
muaiyd | 4:4bb228d1f6c2 | 48 | led3=!led3; |
muaiyd | 4:4bb228d1f6c2 | 49 | } |
muaiyd | 4:4bb228d1f6c2 | 50 | |
muaiyd | 4:4bb228d1f6c2 | 51 | void job4(){ |
muaiyd | 4:4bb228d1f6c2 | 52 | Write_LCD("8 S",0,12,0); |
muaiyd | 4:4bb228d1f6c2 | 53 | led4=!led4; |
muaiyd | 4:4bb228d1f6c2 | 54 | } |
muaiyd | 4:4bb228d1f6c2 | 55 | |
muaiyd | 4:4bb228d1f6c2 | 56 | void job5(){ |
muaiyd | 4:4bb228d1f6c2 | 57 | Write_LCD("10 S",1,0,0); |
muaiyd | 4:4bb228d1f6c2 | 58 | } |
muaiyd | 4:4bb228d1f6c2 | 59 | |
muaiyd | 4:4bb228d1f6c2 | 60 | void job6(){ |
muaiyd | 4:4bb228d1f6c2 | 61 | Write_LCD("12 S",1,5,0); |
muaiyd | 4:4bb228d1f6c2 | 62 | } |
muaiyd | 4:4bb228d1f6c2 | 63 | |
muaiyd | 4:4bb228d1f6c2 | 64 | void job7(){ |
muaiyd | 4:4bb228d1f6c2 | 65 | Write_LCD("22 S",1,10,0); |
muaiyd | 0:86bba6bf9b6f | 66 | } |