两个C51单片机串口通信,是否可以设置非标准波特率
时间:10-02
整理:3721RD
点击:
一个设计需要多片C51之间通讯,其中一片为主芯片,一切通讯都由它发起,其余都是从芯片,接收到主芯片发来的通讯要求后,核对地址一致则响应,否则忽略。
为了保证处理速度,主时钟用的是32M,因此无法给出标准波特率。现在的问题是,就算我要主芯片发一个字符串给从芯片,要求从芯片做出指定操作,从芯片都不能正确进行。代码我粗看没有大的问题,因此很疑惑:是否波特率必须要按标准来做才能保证串口的正常通讯?

为了保证处理速度,主时钟用的是32M,因此无法给出标准波特率。现在的问题是,就算我要主芯片发一个字符串给从芯片,要求从芯片做出指定操作,从芯片都不能正确进行。代码我粗看没有大的问题,因此很疑惑:是否波特率必须要按标准来做才能保证串口的正常通讯?

可以自己定义
也就是说不管计算出来的波特率如何的“非主流”,只要通讯的两个芯片使用的都是一样的参数,通讯就可以正常进行对么?
那么为什么我说的那种情况会出现呢?计算出来的波特率也就是83.333K,不是什么非常高的频率,应该不需要考虑布线干扰吧?
我觉得是这个意思
32M是否以属于超频了?如果是出现异常就不奇怪了
不是
片子是STC12LE5A60S2,官方说明可以到35M的
完全可以用特殊波特率
表示没在51上用过32M的晶振,同时表示你的思路是没有问题的。
波特率非标准没问题
建议你先设置低一点的波特率试下。而且先不要用主从方式试下
高频 频率范围3到30MHZ工作频率为13.56MHZ正负7KHZ;
特高频 300MH到Z3GHZ!
只有和电脑通信才要标准的波特率。
多机通信波特率要一致,建议小编用示波器或者逻辑分析仪看看你主发的波形是否正常。
我一般用标准的波特率,这样可以用电脑去监控下面所发的数据。
先用标准波特率试试嘛,设小点300bps,误差应该很小了,测试一下程序有么有问题,然后再查查硬件,没什么难的。
最好用标准波特率,方便用通用工具进行检测.
STC的MCU最好不要用的频率太高,降1/3或降一半用吧.
學習
学这么久了,还没有用过串口通信做东西呢,学习学习.
