Wait function that uses 16 Bit Timer 1 instead of using 32 bit Timer 0 to be used in conjunction with 'TextLCD16x4_Wait' and 'PulseWidthCapture' to measure the +ve and -ve Pulsewdth of a signal
Dependents: PulseWidthCapture_Program
LCD_Wait.cpp
- Committer:
- Ellor1
- Date:
- 2014-12-11
- Revision:
- 2:46e8391685c4
- Parent:
- 1:57aba608a20d
File content as of revision 2:46e8391685c4:
/*********************************************************************************************************************** This library has been created to create a new wait function that uses the 16 bit Timer 1 rather that the traditional 32 Bit Timer 0. This library is intended for use with the 'TextLCD_16x4' Library to get the lcd to work alongside the 'PulseWidthCapture' Program. Created by Callum Ellor **************************************************************************************************************************/ #include "mbed.h" #include "LCD_Wait.h" LCD_Wait::LCD_Wait(void) //LCD_Wait constructor { LPC_SYSCON->SYSAHBCLKCTRL |= CT16B1_CLK_ENABLE; // setup system clock to enable 16 bit Timer 1 Page 30 of user manual LPC_CT16B1->PR = 48000; // Set prescale value to give 1ms clock. } void LCD_Wait::Wait(float num_wait) { // wait function LPC_CT16B1->TC = 0; //set Timer Counter register to 0 // Start the timer LPC_CT16B1->TCR = CT16B1_TCR_CEN; // enable // blocking while loop that waits for the timer counter to exceed the set value // If another interrupt fires during this while loop, this Wait function might take a little longer than expected while(LPC_CT16B1->TC < num_wait); }