Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

UART3Interrupt.cpp

Committer:
klauss
Date:
2015-04-23
Revision:
117:e9facba9db27
Parent:
116:39a41ebb675c
Child:
119:ee6a53069455

File content as of revision 117:e9facba9db27:

#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 ] ){
       // led3 =!led3;    
    }
    
    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;
    }    
    
}
*/