diff options
Diffstat (limited to 'src/cc1111/ao_serial.c')
| -rw-r--r-- | src/cc1111/ao_serial.c | 18 | 
1 files changed, 12 insertions, 6 deletions
| diff --git a/src/cc1111/ao_serial.c b/src/cc1111/ao_serial.c index 48383802..8913a9b0 100644 --- a/src/cc1111/ao_serial.c +++ b/src/cc1111/ao_serial.c @@ -34,8 +34,14 @@ const __code struct ao_serial_speed ao_serial_speeds[] = {  		/* .baud = */ 59,  		/* .gcr =  */ (11 << UxGCR_BAUD_E_SHIFT) | UxGCR_ORDER_LSB  	}, +	/* [AO_SERIAL_SPEED_115200] = */ { +		/* .baud = */ 59, +		/* .gcr =  */ (12 << UxGCR_BAUD_E_SHIFT) | UxGCR_ORDER_LSB +	},  }; +#define AO_SERIAL_SPEED_MAX	AO_SERIAL_SPEED_115200 +  #if HAS_SERIAL_0  volatile __xdata struct ao_fifo	ao_serial0_rx_fifo; @@ -85,10 +91,10 @@ ao_serial0_getchar(void) __critical  }  #if USE_SERIAL_0_STDIN -char +int  ao_serial0_pollchar(void) __critical  { -	char	c; +	uint8_t	c;  	if (ao_fifo_empty(ao_serial0_rx_fifo))  		return AO_READ_AGAIN;  	ao_fifo_remove(ao_serial0_rx_fifo,c); @@ -116,7 +122,7 @@ void  ao_serial0_set_speed(uint8_t speed)  {  	ao_serial0_drain(); -	if (speed > AO_SERIAL_SPEED_57600) +	if (speed > AO_SERIAL_SPEED_MAX)  		return;  	U0UCR |= UxUCR_FLUSH;  	U0BAUD = ao_serial_speeds[speed].baud; @@ -173,10 +179,10 @@ ao_serial1_getchar(void) __critical  }  #if USE_SERIAL_1_STDIN -char +int  ao_serial1_pollchar(void) __critical  { -	char	c; +	uint8_t	c;  	if (ao_fifo_empty(ao_serial1_rx_fifo))  		return AO_READ_AGAIN;  	ao_fifo_remove(ao_serial1_rx_fifo,c); @@ -204,7 +210,7 @@ void  ao_serial1_set_speed(uint8_t speed)  {  	ao_serial1_drain(); -	if (speed > AO_SERIAL_SPEED_57600) +	if (speed > AO_SERIAL_SPEED_MAX)  		return;  	U1UCR |= UxUCR_FLUSH;  	U1BAUD = ao_serial_speeds[speed].baud; | 
