芯片: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或者使用其它引脚作中断唤醒接收数据后会乱码