微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI WIFI设计交流 > CC3200串口接收中断超时问题

CC3200串口接收中断超时问题

时间:10-02 整理:3721RD 点击:

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);
}

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关闭吧,

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关闭吧,

FIFO 我调用API关闭了,MAP_UARTFIFODisable(UART1);

我现在需要把Receive-timeout功能关闭,好像不行啊! 32bit Time-out功能不能禁止吗?

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

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

用fifo功能效果更好的!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top