2020-01-12 17:29发布
anjiyifan 发表于 2019-5-30 23:43 楼主问题解决了吗?你的原因应该是计算波特率的时候多加了一个1导致的。试试这样: #ifdef FOSC_166000 // ...
zhcj66 发表于 2019-5-31 13:22 已经放弃这个芯片了
最多设置5个标签!
已经放弃这个芯片了
#ifdef FOSC_166000 // if Fsys = 16.6MHz
RH3 = HIBYTE(65536 - (1037500/u32Baudrate)); /*16.6 MHz */
RL3 = LOBYTE(65536 - (1037500/u32Baudrate)); /*16.6 MHz */
#endif
我猜你之前是波特率计算出错了,官方例程的计算方法有误的,多加了一个1,在9600波特率下,偏差1没影响,但是115200波特率下,波特率计数器设置值很小,相差一个1,就占很大百分比了。
还是得看芯片手册上的计算方法才行,芯片手册上的是对的。
一周热门 更多>