以波特率115200为例,代码写的是八位异步,串口调试助手通讯时,波特率设置115200,停止位1,接收到的信息会出现错误,但停止位为2则正常接收,或者是将串口调试助手的波特率调节成118063也可以正常接收,这种有什么办法可以解决?
利用内部晶振做定时器,设置一个一小时定时熄灭,有的在58分左右就熄灭,有的还延时,看手册内部晶振频率误差在正负2%,有什么办法能保证误差一致性?
如果是真这样不准。一致性不好。
还硬是要用这芯片的内部晶体
就
1,针对每台通信修改波特率(115200+正负补偿)
2,定时设置 也针对每台正负补偿
或者分类后直接写不同带补偿的程序进去。
内部的RC本振可不是晶振,石英晶体是无法集成进硅晶片的,天生不可能精准。不建议使用内部本振做高速率的波特率发生器,至少不能长期做。如果有外部稳定的信号源,可以借由外部信号源做校准,但因内置本振的温度特性,校准也只能短时有效,一般是每次通讯发起前校准。