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

关于cc2530 低功耗串口的一些问题

芯片为cc2530 ,协议栈使用的是z-stack 3.0.1.我这边需求是,在低功耗设备里使用串口,串口使用ISR模式。在设备睡眠之前将串口接收器禁用,其他设置不变,并将IO口设置成普通IO模式,之后将RX对应的脚设置成上拉输入,下降沿中断,之后进入睡眠。当接收到串口数据时,通过IO中断唤醒,之后在中断处理函数内将IO口重新设置成UART模式,并将串口接收器使能。具体问题如下:

现在设备正常接收到的串口数据是这样的,先接收一个唤醒字节0xF0,等待1ms再发送正常数据,若80ms内为接收到数据返回,则重发一次唤醒+正常数据。现在问题是,设备能够正常唤醒,但是第一个数据包和重发数据都不能正常接收到,若在这之后,睡眠之前有新的数据包,程序能够正常处理并返回。

问题如下:

1.设备在IO唤醒并重新设置IO口为UART模式之后,串口需要多久才能正常工作?

2.会有哪些原因导致串口接收不到前面两条串口数据?

3.若要保证至少接收到第一条数据的重发数据,需要进行哪些设置?

Alvin Chen:

回复 user4078994:

是的,需要32M晶振。这个没有测试过,你可以自己去试试。

YiKai Chen:

回复 user4078994:

串口正常工作需要32M晶振,如果我沒記錯,我的經驗好像要到200ms才能正常接收

user4078994:

回复 Alvin Chen:

好的,谢谢了

赞(0)
未经允许不得转载:TI中文支持网 » 关于cc2530 低功耗串口的一些问题
分享到: 更多 (0)