homework 7

Dependencies:   mbed-rtos mbed C12832_lcd LM75B

Committer:
gatedClock
Date:
Fri Aug 30 03:46:09 2013 +0000
Revision:
2:665ffa57031f
Parent:
1:9188d4668a88
Child:
3:adb6af8649f8
added ticker timers

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gatedClock 0:fcca4db7b32a 1 /*----------------------------------------------//------------------------------
gatedClock 0:fcca4db7b32a 2 student : m-moore
gatedClock 0:fcca4db7b32a 3 class : rtos
gatedClock 1:9188d4668a88 4 directory : RTOS_HW_07
gatedClock 0:fcca4db7b32a 5 file : main.cpp
gatedClock 0:fcca4db7b32a 6 ----description---------------------------------//------------------------------
gatedClock 0:fcca4db7b32a 7
gatedClock 0:fcca4db7b32a 8 -----includes-----------------------------------//----------------------------*/
gatedClock 0:fcca4db7b32a 9 #include "mbed.h" // mbed class.
gatedClock 1:9188d4668a88 10 #include "rtos.h"
gatedClock 0:fcca4db7b32a 11 #include "C12832_lcd.h" // LCD class.
gatedClock 0:fcca4db7b32a 12 //---defines------------------------------------//------------------------------
gatedClock 0:fcca4db7b32a 13 #define LCD1 lcd.locate(0, 0); // LCD line 1.
gatedClock 0:fcca4db7b32a 14 #define LCD2 lcd.locate(0,11); // LCD line 2.
gatedClock 0:fcca4db7b32a 15 #define LCD3 lcd.locate(0,22); // LCD line 3.
gatedClock 0:fcca4db7b32a 16
gatedClock 0:fcca4db7b32a 17 //--global_definitions--------------------------//------------------------------
gatedClock 0:fcca4db7b32a 18 //--global_variables----------------------------//------------------------------
gatedClock 0:fcca4db7b32a 19
gatedClock 0:fcca4db7b32a 20 //--global_instances----------------------------//------------------------------
gatedClock 0:fcca4db7b32a 21 C12832_LCD lcd; // LCD object.
gatedClock 0:fcca4db7b32a 22
gatedClock 0:fcca4db7b32a 23 InterruptIn iJoyStickUp (p15); // joystick up rising edge.
gatedClock 0:fcca4db7b32a 24 InterruptIn iJoyStickDown (p12); // joystick down rising edge.
gatedClock 0:fcca4db7b32a 25 InterruptIn iJoyStickLeft (p13); // joystick left rising edge.
gatedClock 0:fcca4db7b32a 26 InterruptIn iJoyStickRight (p16); // joystick right rising edge.
gatedClock 0:fcca4db7b32a 27 InterruptIn iJoyStickCenter(p14); // 1 if joystick middle pressed.
gatedClock 0:fcca4db7b32a 28
gatedClock 0:fcca4db7b32a 29 DigitalOut led3(LED1); // leftmost LED.
gatedClock 0:fcca4db7b32a 30
gatedClock 2:665ffa57031f 31
gatedClock 2:665ffa57031f 32
gatedClock 2:665ffa57031f 33 Ticker tickerMeasureTemperature;
gatedClock 2:665ffa57031f 34 Ticker tickerLCDUpdate;
gatedClock 2:665ffa57031f 35 Ticker tickerLEDUpdate;
gatedClock 2:665ffa57031f 36 Ticker tickerBeeper;
gatedClock 0:fcca4db7b32a 37 //-------prototypes-----------------------------//------------------------------
gatedClock 1:9188d4668a88 38 void ISR_up();
gatedClock 1:9188d4668a88 39 void ISR_down();
gatedClock 1:9188d4668a88 40 void ISR_left();
gatedClock 1:9188d4668a88 41 void ISR_right();
gatedClock 1:9188d4668a88 42 void ISR_center();
gatedClock 0:fcca4db7b32a 43 //==============================================//==============================
gatedClock 0:fcca4db7b32a 44 int main(void)
gatedClock 0:fcca4db7b32a 45 {
gatedClock 0:fcca4db7b32a 46 iJoyStickUp.rise (&ISR_up);
gatedClock 0:fcca4db7b32a 47 iJoyStickDown.rise (&ISR_down);
gatedClock 0:fcca4db7b32a 48 iJoyStickLeft.rise (&ISR_left);
gatedClock 0:fcca4db7b32a 49 iJoyStickRight.rise(&ISR_right);
gatedClock 0:fcca4db7b32a 50 iJoyStickCenter.rise(&ISR_center);
gatedClock 0:fcca4db7b32a 51
gatedClock 0:fcca4db7b32a 52 initialization(); // initialize variables.
gatedClock 0:fcca4db7b32a 53
gatedClock 0:fcca4db7b32a 54
gatedClock 0:fcca4db7b32a 55
gatedClock 0:fcca4db7b32a 56 while(1) // all timer/interrupt driven.
gatedClock 0:fcca4db7b32a 57 {
gatedClock 0:fcca4db7b32a 58 wait(10.0);
gatedClock 0:fcca4db7b32a 59 }
gatedClock 0:fcca4db7b32a 60 }
gatedClock 0:fcca4db7b32a 61 /*----------------------------------------------//----------------------------*/
gatedClock 0:fcca4db7b32a 62 void initialization(void) // program initializations.
gatedClock 0:fcca4db7b32a 63 {
gatedClock 0:fcca4db7b32a 64
gatedClock 0:fcca4db7b32a 65 }
gatedClock 0:fcca4db7b32a 66 /*----------------------------------------------//----------------------------*/
gatedClock 1:9188d4668a88 67 void ISR_up(void)
gatedClock 1:9188d4668a88 68 {
gatedClock 1:9188d4668a88 69 printf(" ISR_up \n\r");
gatedClock 1:9188d4668a88 70 }
gatedClock 1:9188d4668a88 71 /*----------------------------------------------//----------------------------*/
gatedClock 1:9188d4668a88 72 void ISR_down(void)
gatedClock 1:9188d4668a88 73 {
gatedClock 1:9188d4668a88 74 printf(" ISR_down \n\r");
gatedClock 1:9188d4668a88 75 }
gatedClock 1:9188d4668a88 76 /*----------------------------------------------//----------------------------*/
gatedClock 1:9188d4668a88 77 void ISR_left(void)
gatedClock 1:9188d4668a88 78 {
gatedClock 1:9188d4668a88 79 printf(" ISR_left \n\r");
gatedClock 1:9188d4668a88 80 }
gatedClock 1:9188d4668a88 81 /*----------------------------------------------//----------------------------*/
gatedClock 1:9188d4668a88 82 void ISR_right(void)
gatedClock 1:9188d4668a88 83 {
gatedClock 1:9188d4668a88 84 printf(" ISR_right \n\r");
gatedClock 1:9188d4668a88 85 }
gatedClock 1:9188d4668a88 86 /*----------------------------------------------//----------------------------*/
gatedClock 1:9188d4668a88 87 void ISR_center(void)
gatedClock 1:9188d4668a88 88 {
gatedClock 1:9188d4668a88 89 printf(" ISR_center \n\r");
gatedClock 1:9188d4668a88 90 }
gatedClock 1:9188d4668a88 91 /*----------------------------------------------//----------------------------*/
gatedClock 2:665ffa57031f 92
gatedClock 2:665ffa57031f 93
gatedClock 2:665ffa57031f 94
gatedClock 2:665ffa57031f 95 /*----------------------------------------------//----------------------------*/
gatedClock 2:665ffa57031f 96 void measureTemperature(void)
gatedClock 2:665ffa57031f 97 {
gatedClock 2:665ffa57031f 98 printf(" measureTemerature \n\r");
gatedClock 2:665ffa57031f 99 }
gatedClock 2:665ffa57031f 100 /*----------------------------------------------//----------------------------*/
gatedClock 2:665ffa57031f 101 void LCDUpdate(void)
gatedClock 2:665ffa57031f 102 {
gatedClock 2:665ffa57031f 103 printf(" LCDUpdate \n\r");
gatedClock 2:665ffa57031f 104 }
gatedClock 2:665ffa57031f 105 /*----------------------------------------------//----------------------------*/
gatedClock 2:665ffa57031f 106 void LEDUpdate(void)
gatedClock 2:665ffa57031f 107 {
gatedClock 2:665ffa57031f 108 printf(" LEDUpdate \n\r");
gatedClock 2:665ffa57031f 109 }
gatedClock 2:665ffa57031f 110 /*----------------------------------------------//----------------------------*/
gatedClock 2:665ffa57031f 111 void Beeper(void)
gatedClock 2:665ffa57031f 112 {
gatedClock 2:665ffa57031f 113 printf(" Beeper \n\r");
gatedClock 2:665ffa57031f 114 }
gatedClock 2:665ffa57031f 115 /*----------------------------------------------//----------------------------*/
gatedClock 2:665ffa57031f 116
gatedClock 2:665ffa57031f 117
gatedClock 2:665ffa57031f 118
gatedClock 2:665ffa57031f 119
gatedClock 2:665ffa57031f 120