/** * \file * * uart write routines * * \author * * Anthony "Asterisk" Ambuehl * * interrupt routines which must be in HOME bank. handles received data from UART. * */ #include #include #include "cc2430_sfr.h" #include "dev/leds.h" #include "dev/uart.h" static int (*uart0_input_handler)(unsigned char c); static int (*uart1_input_handler)(unsigned char c); /*---------------------------------------------------------------------------*/ void uart0_set_input(int (*input)(unsigned char c)) { uart0_input_handler = input; } /*---------------------------------------------------------------------------*/ void uart0_rxISR(void) __interrupt (URX0_VECTOR) { TCON_URX0IF = 0; if(uart0_input_handler != NULL) { uart0_input_handler(U0BUF); } } /*---------------------------------------------------------------------------*/ void uart0_txISR( void ) __interrupt (UTX0_VECTOR) { } /*---------------------------------------------------------------------------*/ void uart1_set_input(int (*input)(unsigned char c)) { uart1_input_handler = input; } /*---------------------------------------------------------------------------*/ void uart1_rxISR(void) __interrupt (URX1_VECTOR) { TCON_URX1IF = 0; if(uart1_input_handler != NULL) { uart1_input_handler(U1BUF); } } /*---------------------------------------------------------------------------*/ void uart1_txISR( void ) __interrupt (UTX1_VECTOR) { } /*---------------------------------------------------------------------------*/