homework 7

Dependencies:   mbed-rtos mbed C12832_lcd LM75B

Committer:
gatedClock
Date:
Fri Aug 30 04:20:41 2013 +0000
Revision:
7:9fbd1d540863
Parent:
6:d1d7e159eef3
Child:
8:7d85205aa1ab
moved to pc.printf.

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 7:9fbd1d540863 11
gatedClock 6:d1d7e159eef3 12 // #include "C12832_lcd.h" // LCD class.
gatedClock 0:fcca4db7b32a 13 //---defines------------------------------------//------------------------------
gatedClock 6:d1d7e159eef3 14
gatedClock 0:fcca4db7b32a 15
gatedClock 0:fcca4db7b32a 16 //--global_definitions--------------------------//------------------------------
gatedClock 0:fcca4db7b32a 17 //--global_variables----------------------------//------------------------------
gatedClock 0:fcca4db7b32a 18
gatedClock 0:fcca4db7b32a 19 //--global_instances----------------------------//------------------------------
gatedClock 6:d1d7e159eef3 20 // C12832_LCD lcd; // LCD object.
gatedClock 0:fcca4db7b32a 21
gatedClock 0:fcca4db7b32a 22 InterruptIn iJoyStickUp (p15); // joystick up rising edge.
gatedClock 0:fcca4db7b32a 23 InterruptIn iJoyStickDown (p12); // joystick down rising edge.
gatedClock 0:fcca4db7b32a 24 InterruptIn iJoyStickLeft (p13); // joystick left rising edge.
gatedClock 0:fcca4db7b32a 25 InterruptIn iJoyStickRight (p16); // joystick right rising edge.
gatedClock 0:fcca4db7b32a 26 InterruptIn iJoyStickCenter(p14); // 1 if joystick middle pressed.
gatedClock 0:fcca4db7b32a 27
gatedClock 0:fcca4db7b32a 28 DigitalOut led3(LED1); // leftmost LED.
gatedClock 0:fcca4db7b32a 29
gatedClock 7:9fbd1d540863 30 Serial pc(USBTX, USBRX); // PuTTY terminal communication.
gatedClock 2:665ffa57031f 31
gatedClock 2:665ffa57031f 32 Ticker tickerMeasureTemperature;
gatedClock 2:665ffa57031f 33 Ticker tickerLCDUpdate;
gatedClock 2:665ffa57031f 34 Ticker tickerLEDUpdate;
gatedClock 2:665ffa57031f 35 Ticker tickerBeeper;
gatedClock 0:fcca4db7b32a 36 //-------prototypes-----------------------------//------------------------------
gatedClock 3:adb6af8649f8 37 void initialization();
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 3:adb6af8649f8 43 void measureTemperature();
gatedClock 3:adb6af8649f8 44 void LCDUpdate();
gatedClock 3:adb6af8649f8 45 void LEDUpdate();
gatedClock 3:adb6af8649f8 46 void Beeper();
gatedClock 0:fcca4db7b32a 47 //==============================================//==============================
gatedClock 0:fcca4db7b32a 48 int main(void)
gatedClock 0:fcca4db7b32a 49 {
gatedClock 7:9fbd1d540863 50
gatedClock 0:fcca4db7b32a 51 iJoyStickUp.rise (&ISR_up);
gatedClock 0:fcca4db7b32a 52 iJoyStickDown.rise (&ISR_down);
gatedClock 0:fcca4db7b32a 53 iJoyStickLeft.rise (&ISR_left);
gatedClock 0:fcca4db7b32a 54 iJoyStickRight.rise(&ISR_right);
gatedClock 0:fcca4db7b32a 55 iJoyStickCenter.rise(&ISR_center);
gatedClock 6:d1d7e159eef3 56 tickerMeasureTemperature.attach(&measureTemperature,1.0);
gatedClock 6:d1d7e159eef3 57 tickerLCDUpdate.attach(&LCDUpdate,0.250);
gatedClock 6:d1d7e159eef3 58 tickerLEDUpdate.attach(&LEDUpdate,0.250);
gatedClock 7:9fbd1d540863 59
gatedClock 6:d1d7e159eef3 60 tickerBeeper.attach(&Beeper,0.500);
gatedClock 0:fcca4db7b32a 61
gatedClock 6:d1d7e159eef3 62
gatedClock 0:fcca4db7b32a 63
gatedClock 0:fcca4db7b32a 64
gatedClock 0:fcca4db7b32a 65
gatedClock 0:fcca4db7b32a 66 while(1) // all timer/interrupt driven.
gatedClock 0:fcca4db7b32a 67 {
gatedClock 7:9fbd1d540863 68 pc.printf(" main.\n\r");
gatedClock 0:fcca4db7b32a 69 wait(10.0);
gatedClock 0:fcca4db7b32a 70 }
gatedClock 0:fcca4db7b32a 71 }
gatedClock 0:fcca4db7b32a 72 /*----------------------------------------------//----------------------------*/
gatedClock 0:fcca4db7b32a 73 void initialization(void) // program initializations.
gatedClock 0:fcca4db7b32a 74 {
gatedClock 7:9fbd1d540863 75 pc.printf(" initialization.\n\r");
gatedClock 0:fcca4db7b32a 76
gatedClock 5:24bfc4d13579 77
gatedClock 6:d1d7e159eef3 78
gatedClock 5:24bfc4d13579 79
gatedClock 0:fcca4db7b32a 80 }
gatedClock 0:fcca4db7b32a 81 /*----------------------------------------------//----------------------------*/
gatedClock 7:9fbd1d540863 82 void ISR_up()
gatedClock 1:9188d4668a88 83 {
gatedClock 7:9fbd1d540863 84 pc.printf(" ISR_up \n\r");
gatedClock 1:9188d4668a88 85 }
gatedClock 1:9188d4668a88 86 /*----------------------------------------------//----------------------------*/
gatedClock 7:9fbd1d540863 87 void ISR_down()
gatedClock 1:9188d4668a88 88 {
gatedClock 7:9fbd1d540863 89 pc.printf(" ISR_down \n\r");
gatedClock 1:9188d4668a88 90 }
gatedClock 1:9188d4668a88 91 /*----------------------------------------------//----------------------------*/
gatedClock 7:9fbd1d540863 92 void ISR_left()
gatedClock 1:9188d4668a88 93 {
gatedClock 7:9fbd1d540863 94 pc.printf(" ISR_left \n\r");
gatedClock 1:9188d4668a88 95 }
gatedClock 1:9188d4668a88 96 /*----------------------------------------------//----------------------------*/
gatedClock 7:9fbd1d540863 97 void ISR_right()
gatedClock 1:9188d4668a88 98 {
gatedClock 7:9fbd1d540863 99 pc.printf(" ISR_right \n\r");
gatedClock 1:9188d4668a88 100 }
gatedClock 1:9188d4668a88 101 /*----------------------------------------------//----------------------------*/
gatedClock 7:9fbd1d540863 102 void ISR_center()
gatedClock 1:9188d4668a88 103 {
gatedClock 7:9fbd1d540863 104 pc.printf(" ISR_center \n\r");
gatedClock 1:9188d4668a88 105 }
gatedClock 1:9188d4668a88 106 /*----------------------------------------------//----------------------------*/
gatedClock 2:665ffa57031f 107 void measureTemperature(void)
gatedClock 2:665ffa57031f 108 {
gatedClock 7:9fbd1d540863 109 pc.printf(" measureTemerature \n\r");
gatedClock 2:665ffa57031f 110 }
gatedClock 2:665ffa57031f 111 /*----------------------------------------------//----------------------------*/
gatedClock 7:9fbd1d540863 112 void LCDUpdate()
gatedClock 2:665ffa57031f 113 {
gatedClock 7:9fbd1d540863 114 pc.printf(" LCDUpdate \n\r");
gatedClock 2:665ffa57031f 115 }
gatedClock 2:665ffa57031f 116 /*----------------------------------------------//----------------------------*/
gatedClock 7:9fbd1d540863 117 void LEDUpdate()
gatedClock 2:665ffa57031f 118 {
gatedClock 7:9fbd1d540863 119 pc.printf(" LEDUpdate \n\r");
gatedClock 2:665ffa57031f 120 }
gatedClock 2:665ffa57031f 121 /*----------------------------------------------//----------------------------*/
gatedClock 7:9fbd1d540863 122 void Beeper()
gatedClock 2:665ffa57031f 123 {
gatedClock 7:9fbd1d540863 124 pc.printf(" Beeper \n\r");
gatedClock 2:665ffa57031f 125 }
gatedClock 2:665ffa57031f 126 /*----------------------------------------------//----------------------------*/
gatedClock 2:665ffa57031f 127
gatedClock 2:665ffa57031f 128
gatedClock 2:665ffa57031f 129
gatedClock 2:665ffa57031f 130
gatedClock 2:665ffa57031f 131