TI E2E™ 设计支持论坛将于 5 月 30 日至 6 月 1 日进行维护。如果您在此期间需要技术支持,请联系 TI 的客户支持中心寻求帮助。

This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

HalUARTRead相关问题

Other Parts Discussed in Thread: CC2530, CC2652R, CC2538

1.请问下面的flowControlThreshold 是什么意思?idleTimeout 是什么意思?

intEnable 设为FALSE是不是就是查询的方式了?

uartConfig.configured = TRUE;
uartConfig.baudRate = HAL_UART_BR_4800;//HAL_UART_BR_9600;
uartConfig.flowControl = FALSE;
uartConfig.flowControlThreshold = 0;
uartConfig.rx.maxBufSize = 128;//默认128;
uartConfig.tx.maxBufSize = 128;//默认128;
uartConfig.idleTimeout = 6;//默认6
uartConfig.intEnable = FALSE;
uartConfig.callBackFunc = uartRxCb;
HalUARTOpen (HAL_UART_PORT_0, &uartConfig);

2.串口处理函数能否用下面的方式?

方式1测了没啥问题,我这边串口只接收,40ms一帧数据,发现用下面方式2的时候会偶现死机现象

方式1这样的方式可行?方式2为什么会死机

我的处理是把缓存里的数据取出来再发出去,发现方式2有的时候发不出去

方式1:

void uartRxCb( uint8 port, uint8 event )
{
HalUARTRead(port,UartDataBuf,128); //把数据接收放到buf中
}

方式2

void uartRxCb( uint8 port, uint8 event )

while(Hal_UART_RxBufLen(port))
{
HalUARTRead(port,&UartDataBuf[Head++],1); //把数据接收放到buf中

}

}