homework 7

Dependencies:   mbed-rtos mbed C12832_lcd LM75B

Committer:
gatedClock
Date:
Fri Aug 30 03:41:31 2013 +0000
Revision:
1:9188d4668a88
Parent:
0:fcca4db7b32a
Child:
2:665ffa57031f
working on ISR's.

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 0:fcca4db7b32a 31 Ticker tickerMetronome; // blinking LED.
gatedClock 0:fcca4db7b32a 32 Ticker tickerLCD; // display ticker.
gatedClock 0:fcca4db7b32a 33 Timeout timeoutDutyCycle; // LED duty cycle delay.
gatedClock 0:fcca4db7b32a 34 Timeout timeoutMetronome;
gatedClock 0:fcca4db7b32a 35 //-------prototypes-----------------------------//------------------------------
gatedClock 1:9188d4668a88 36 void ISR_up();
gatedClock 1:9188d4668a88 37 void ISR_down();
gatedClock 1:9188d4668a88 38 void ISR_left();
gatedClock 1:9188d4668a88 39 void ISR_right();
gatedClock 1:9188d4668a88 40 void ISR_center();
gatedClock 0:fcca4db7b32a 41 //==============================================//==============================
gatedClock 0:fcca4db7b32a 42 int main(void)
gatedClock 0:fcca4db7b32a 43 {
gatedClock 0:fcca4db7b32a 44 iJoyStickUp.rise (&ISR_up);
gatedClock 0:fcca4db7b32a 45 iJoyStickDown.rise (&ISR_down);
gatedClock 0:fcca4db7b32a 46 iJoyStickLeft.rise (&ISR_left);
gatedClock 0:fcca4db7b32a 47 iJoyStickRight.rise(&ISR_right);
gatedClock 0:fcca4db7b32a 48 iJoyStickCenter.rise(&ISR_center);
gatedClock 0:fcca4db7b32a 49
gatedClock 0:fcca4db7b32a 50 initialization(); // initialize variables.
gatedClock 0:fcca4db7b32a 51
gatedClock 0:fcca4db7b32a 52
gatedClock 0:fcca4db7b32a 53
gatedClock 0:fcca4db7b32a 54 while(1) // all timer/interrupt driven.
gatedClock 0:fcca4db7b32a 55 {
gatedClock 0:fcca4db7b32a 56 wait(10.0);
gatedClock 0:fcca4db7b32a 57 }
gatedClock 0:fcca4db7b32a 58 }
gatedClock 0:fcca4db7b32a 59 /*----------------------------------------------//----------------------------*/
gatedClock 0:fcca4db7b32a 60 void initialization(void) // program initializations.
gatedClock 0:fcca4db7b32a 61 {
gatedClock 0:fcca4db7b32a 62
gatedClock 0:fcca4db7b32a 63 }
gatedClock 0:fcca4db7b32a 64 /*----------------------------------------------//----------------------------*/
gatedClock 1:9188d4668a88 65 void ISR_up(void)
gatedClock 1:9188d4668a88 66 {
gatedClock 1:9188d4668a88 67 printf(" ISR_up \n\r");
gatedClock 1:9188d4668a88 68 }
gatedClock 1:9188d4668a88 69 /*----------------------------------------------//----------------------------*/
gatedClock 1:9188d4668a88 70 void ISR_down(void)
gatedClock 1:9188d4668a88 71 {
gatedClock 1:9188d4668a88 72 printf(" ISR_down \n\r");
gatedClock 1:9188d4668a88 73 }
gatedClock 1:9188d4668a88 74 /*----------------------------------------------//----------------------------*/
gatedClock 1:9188d4668a88 75 void ISR_left(void)
gatedClock 1:9188d4668a88 76 {
gatedClock 1:9188d4668a88 77 printf(" ISR_left \n\r");
gatedClock 1:9188d4668a88 78 }
gatedClock 1:9188d4668a88 79 /*----------------------------------------------//----------------------------*/
gatedClock 1:9188d4668a88 80 void ISR_right(void)
gatedClock 1:9188d4668a88 81 {
gatedClock 1:9188d4668a88 82 printf(" ISR_right \n\r");
gatedClock 1:9188d4668a88 83 }
gatedClock 1:9188d4668a88 84 /*----------------------------------------------//----------------------------*/
gatedClock 1:9188d4668a88 85 void ISR_center(void)
gatedClock 1:9188d4668a88 86 {
gatedClock 1:9188d4668a88 87 printf(" ISR_center \n\r");
gatedClock 1:9188d4668a88 88 }
gatedClock 1:9188d4668a88 89 /*----------------------------------------------//----------------------------*/