打印
[STC单片机]

警惕STC单片机的WAKE_CLKO寄存器对UART的干扰

[复制链接]
3047|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
12864|  楼主 | 2013-12-4 02:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
特殊功能寄存器WAKE_CLKO的第7位RXD_PIN_IE用于使串行接收引脚可触发掉电唤醒。

我今天就栽在这上面了。

系统初始化我就设置了WAKE_CLKO=0x40, 使能RXD掉电唤醒,结果串口数据接收就是不对,发送倒是没有任何错误。单片机接收到的主机数据乱七八糟,别说数据的正确率了,就连数据个数都不对。我换了几片12C5608和5410,症状一致,绝望之余,注释掉了WAKE_CLKO这句初始化,然后故障居然就排除了,为了让RXD可以唤醒掉电,就把这句放到了设置进入掉电模式的代码之前,掉电唤醒之后直接复位。

不知大家是否曾遇到该问题,正常运行阶段千万不能无端使能RXD_PIN_IE,需要进行此类操作就放到关机函数,不管唤醒之后是继续工作还是先复位,程序进入正常工作之前别让RXD_PIN_IE=1

这是我第二次遇到STC芯片的问题。上次是PCA定时器被int0引脚电平牵制,int0有波形的时候,PCA定时器就间断性歇菜,实在做不出来了,于是我就把PCA和T0对调,T0去完成定时精度较高的任务,PCA去做没有精度要求的定时,问题排除。

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

93

帖子

1

粉丝