TI中文支持网
TI专业的中文技术问题搜集分享网站

CC3200串口接收中断超时问题

CC3200串口接收超时功能可以关闭不,如何关闭?要求做到收到1字节数据,立马进中断。

我用CC3200如另外一个串口设备通信,对方要求收到它的完整数据帧后在1ms以内回复一个字节的ACK给他,现在每次进中断时间好像在2.5ms左右的样子,

已经过了1ms的ack时间。

void InitUART1()
{

MAP_UARTConfigSetExpClk(UART1,MAP_PRCMPeripheralClockGet(UART1_PERIPH), UART1_BAUD_RATE, (UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |
UART_CONFIG_PAR_EVEN));
MAP_IntPrioritySet(INT_UARTA1, INT_PRIORITY_LVL_1);
MAP_UARTIntRegister(UART1,UART1_ISR);

MAP_UARTFIFODisable(UART1);

MAP_UARTIntEnable(UART1, UART_INT_RX); MAP_UARTIntClear(UART1, UART_INT_RX); MAP_UARTEnable(UART1);}

Terry Han:

CC3200上电复位后,默认Out of reset, both FIFOs are disabled and act as 1-byte-deep holding registers. 如果要打开 The FIFOs are enabled by setting the FEN bit in UARTLCRH. 在操作UART串口时注意如果不想使用FIFO可以关闭FIFO功能,你有把FIFO关闭吧,

user3613312:

回复 Terry Han:

Terry Han

CC3200上电复位后,默认Out of reset, both FIFOs are disabled and act as 1-byte-deep holding registers. 如果要打开 The FIFOs are enabled by setting the FEN bit in UARTLCRH. 在操作UART串口时注意如果不想使用FIFO可以关闭FIFO功能,你有把FIFO关闭吧,

user3613312:

回复 user3613312:

看来这个是CC3200的一个硬伤了,我最后没辙了,只能在前面收到长度字节的时候,用定时器做计时,到了时间直接回复ACK。

但这样存在一个风险,万一中途数据出错了也回ACK,不过不影响使用。

da qin zheng sheng:

用fifo功能效果更好的!

赞(0)
未经允许不得转载:TI中文支持网 » CC3200串口接收中断超时问题
分享到: 更多 (0)