65 lines
1.5 KiB
C
65 lines
1.5 KiB
C
|
/**
|
||
|
* \file
|
||
|
*
|
||
|
* uart write routines
|
||
|
*
|
||
|
* \author
|
||
|
*
|
||
|
* Anthony "Asterisk" Ambuehl
|
||
|
*
|
||
|
* interrupt routines which must be in HOME bank. handles received data from UART.
|
||
|
*
|
||
|
*/
|
||
|
#include <stdlib.h>
|
||
|
#include <string.h>
|
||
|
|
||
|
#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)
|
||
|
{
|
||
|
}
|
||
|
/*---------------------------------------------------------------------------*/
|