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

CC2530+Zstack协议栈的串口问题

我使用协议栈的串口测试,CC2530接收到数据后,显示接收到的长度和事件。每隔1s发送136字节数据,过一段事件后现象如图片所示

如图所示:过一段事件后,发送的是136字节,但串口接收到不是136字节。事件依然是HAL_UART_RX_TIMEOUT事件。

请问这是为什么?有什么推荐的解决办法?

Viki Shi:

波特率多少?

user4711142:

回复 Viki Shi:

9600

Viki Shi:

回复 user4711142:

波特率为9600【或更低】的时候常发生数据包来不及接收的问题,需要增加接收DMA的启动延时

/ The timeout tick is at 32-kHz, so multiply msecs by 33.
#define HAL_UART_MSECS_TO_TICKS33
将DMA接受数据延时改大,比如300或者200

user4711142:

回复 Viki Shi:

我用的中断方式。
1、请问用中断方式和DMA方式那个好?
2、如果用ISR方式,应该更改哪里?
3、如果用DMA方式,将HAL_UART_MSECS_TO_TICKS改为300么?

Viki Shi:

回复 user4711142:

推荐看一下官方指导文档:www.ti.com/…/swra222b.pdf

赞(0)
未经允许不得转载:TI中文支持网 » CC2530+Zstack协议栈的串口问题
分享到: 更多 (0)