Mohammad Mohammad
/
hw2
UCLA-EEM202A 2nd assignment. time synchronization
main.cpp
- Committer:
- mohammmo
- Date:
- 2014-03-06
- Revision:
- 1:3f76ed8cd999
- Parent:
- 0:4d75b473d9c9
- Child:
- 2:2661fa86e1d3
File content as of revision 1:3f76ed8cd999:
#include "mbed.h" // Declare output LEDs DigitalOut ledgreen(PTD5); DigitalOut ledred(PTE29); // Serial for debuggin purposes void initialize_ticker(); int main() { ledred = 1; ledgreen = 0; initialize_ticker(); while(1){ } } void flip() { //clear interrupt PIT->CHANNEL[1].TFLG |= PIT_TFLG_TIF_MASK; ledgreen = !ledgreen; ledred = !ledred; } void initialize_ticker(){ //enable clock SIM->SCGC6 |= SIM_SCGC6_PIT_MASK; //set to zero to enable PIT PIT->MCR = 0x00; //clear interrup before enabling it PIT->CHANNEL[1].TFLG |= PIT_TFLG_TIF_MASK; PIT->CHANNEL[1].LDVAL = 0x00BEBC1F; //1 second //enable interrup PIT->CHANNEL[1].TCTRL |= PIT_TCTRL_TIE_MASK; //enable interrtup __enable_irq(); NVIC_SetVector(PIT_IRQn, (uint32_t)flip); NVIC_EnableIRQ(PIT_IRQn); //start timer PIT->CHANNEL[1].TCTRL |= PIT_TCTRL_TEN_MASK; }