![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Modularizando o src
Dependencies: EALib EthernetInterface_vz mbed-rtos mbed
Fork of header_main_colinas_V0-20-09-14 by
UART3Interrupt.cpp
- Committer:
- klauss
- Date:
- 2015-02-25
- Revision:
- 104:62646ef786a3
- Parent:
- 99:e80850c51106
- Child:
- 105:a930035b6556
File content as of revision 104:62646ef786a3:
#include "UART3Interrupt.h" char RXBuffer[__CB_BUFFER_SIZE__]; ///< UART3 RX Buffer volatile uint16_t RX_c = 0; ///< UART3 Serial Interrupt Handler void SerialRecvInterrupt( void ){ while ( LPC_UART3 -> LSR & ( 0<<1 ) ) {} // Receive data from UART3 RX *( RXBuffer + RX_c ) = LPC_UART3 -> RBR; if( RXBuffer[ RX_c ] != RXBuffer[ RX_c - 1 ] ) { // FIXME remove this if ... } RX_c++; led4 =!led4; if ( RX_c == 300 ){ status = __READ__; missed_pkg++; cpld_pkg_rx_counter++; } } void RXFrameSync (void) { RX_c = 0; status = __WAITING__; } /* void initRX (void) { RXHeadPtr = IntBuff; // Initial state RXHeadPtr = RXTailPtr; } void SerialRecvInterrupt (void) // UART3 Serial Interrupt Handler { static uint8_t data = 0; while ( LPC_UART3->LSR &= (0<<1) ) {} // *(RXBuffer+idx) = LPC_UART3->RBR; Receive data from UART3 RX data = LPC_UART3->RBR; // Receive data from UART3 RX RXHeadPtr = &data; RXHeadPtr++; move++; if ( RXHeadPtr == (IntBuff+899) ) { RXHeadPtr = IntBuff; } } void RcvRX( void ) { static uint16_t p = 0; static uint8_t data = 0; if ( move ) { data = *RXTailPtr; RXBuffer[p] = data; RXTailPtr++; move--; p++; } if ( RXTailPtr == (IntBuff+899) ) { RXTailPtr = IntBuff; } if ( p == 300 ) { processRX = 1; p = 0; } } */