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

CC2640R2F 串口低功耗 每次唤醒后的第一次接收数据总是出错

芯片:CC2640R2F

SDK: V2.2

例程:SimpleCentral

要用串口进行通讯,又要做低功耗设计,关于硬件串口在部分,在英文论坛上问了TI的员工,建议在空闲时关闭串口,并将RX引脚配置为输入中断引脚,按照这个方法去实现了,能唤醒,通常会丢掉开头的2~4个字节,这是可以接受的(可以用通讯协议处理掉唤醒字节),但是发现在115200波特率下,有时候接收的第一包数据会出错,一包去触发了很多次rxcallback函数,并且收到的是乱码。又尝试了9600, 9600波特率,几乎必现,每次唤醒后的第一包都不对。

已尝试的方法:

1)硬件加外部上拉,要说明下,串口IO口在配置时已配成了弱上拉,没有用

2)外部中断中加入延时,当时怀疑是刚唤醒晶振不稳,但是加了延时也没用

请问大家有没有做串口低功耗用,用的也是RX引脚中断方案的是怎么实现的,求指导

Viki Shi:

唤醒以后延时一段时间再发数据包呢,是否正常?

z z46:

回复 Viki Shi:

我是用USB转TTL发的数据,所以没有办法单独给出某个电平,但是我在每次触发后延时5s再关闭串口,在这5s内,第二次接收数据是正常的

user3570217:

回复 z z46:

LZ问题有解决没,我现在遇到同样问题。RX或者使用其它引脚作中断唤醒接收数据后会乱码

赞(0)
未经允许不得转载:TI中文支持网 » CC2640R2F 串口低功耗 每次唤醒后的第一次接收数据总是出错
分享到: 更多 (0)