From: Dan White Date: Sat, 20 Apr 2013 05:39:40 +0000 (-0500) Subject: better uart namespace X-Git-Tag: bootrom-initial-submission~22^2~10 X-Git-Url: http://git.whiteaudio.com/gitweb/?a=commitdiff_plain;h=2c47c53e955c5404d475febc0888350089c212a1;p=430.git better uart namespace --- diff --git a/msp4th/main.c b/msp4th/main.c index 372816f..cc4bc1a 100644 --- a/msp4th/main.c +++ b/msp4th/main.c @@ -20,6 +20,7 @@ * YE BE WARNED */ void __attribute__ ((naked)) _reset_vector__(void) { + __asm__ __volatile__("mov #0xffb0,r1"::); __asm__ __volatile__("br #main"::); } @@ -54,6 +55,7 @@ static void __inline__ eint(void){ + int main(void){ int16_t tmp; @@ -67,7 +69,7 @@ int main(void){ PAOUT = 0x0000; PAOEN = 0x0010; // set data direction registers - UART0_BCR = BCR(DEVBOARD_CLOCK, BAUDRATE); + UART0_BCR = UART_BCR(DEVBOARD_CLOCK, BAUDRATE); UART0_CR = UARTEn; // a read clears the register -- ready for TX/RX @@ -79,8 +81,10 @@ int main(void){ * * word "exit" makes processLoop() return */ - init_msp4th(); - processLoop(); + while (1) { + init_msp4th(); + processLoop(); + } return 0; } diff --git a/msp4th/ns430-uart.c b/msp4th/ns430-uart.c index 5eca285..439f135 100644 --- a/msp4th/ns430-uart.c +++ b/msp4th/ns430-uart.c @@ -6,7 +6,7 @@ void uart_putchar(uint8_t c) { - while ((UART0_SR & (TDRE | TXEMPTY)) == 0) { + while ((UART0_SR & (UART_TDRE | UART_TXEMPTY)) == 0) { // wait for register to clear } UART0_TDR = (c & 0xff); @@ -16,7 +16,7 @@ uint8_t uart_getchar(void) { uint8_t c; - while ((UART0_SR & RDRF) == 0) { + while ((UART0_SR & UART_RDRF) == 0) { // wait for char } c = (UART0_RDR & 0x00ff); diff --git a/ns430-uart.h b/ns430-uart.h index fb805c5..1dd5478 100644 --- a/ns430-uart.h +++ b/ns430-uart.h @@ -4,16 +4,16 @@ #include "ns430.h" /* UARTx_CR bits */ -#define TDRE_IE (1 << 0) -#define TXEMPTY_IE (1 << 1) -#define RDRF_IE (1 << 2) -#define OVER_IE (1 << 3) -#define PE_IE (1 << 4) -#define FE_IE (1 << 5) -#define Parity (1 << 6) -#define UARTEn (1 << 7) -#define LLEN (1 << 9) -#define PAR_En (1 << 10) +#define UART_TDRE_IE (1 << 0) +#define UART_TXEMPTY_IE (1 << 1) +#define UART_RDRF_IE (1 << 2) +#define UART_OVER_IE (1 << 3) +#define UART_PE_IE (1 << 4) +#define UART_FE_IE (1 << 5) +#define UART_Parity (1 << 6) +#define UARTEn (1 << 7) +#define UART_LLEN (1 << 9) +#define UART_PAR_En (1 << 10) /* UARTx_BCR * 11-bit number @@ -22,15 +22,15 @@ * BCR = (CLK / (16 * Baud)) - 1 */ -#define BCR(c, b) ((c / (16 * b)) - 1) +#define UART_BCR(c, b) ((c / (16 * b)) - 1) /* UARTx_SR bits */ -#define TDRE (1 << 0) -#define TXEMPTY (1 << 1) -#define RDRF (1 << 2) -#define OVER (1 << 3) -#define PE (1 << 4) -#define FE (1 << 5) +#define UART_TDRE (1 << 0) +#define UART_TXEMPTY (1 << 1) +#define UART_RDRF (1 << 2) +#define UART_OVER (1 << 3) +#define UART_PE (1 << 4) +#define UART_FE (1 << 5) void uart_putchar(uint8_t c); uint8_t uart_getchar(void);