原创 工作笔记之串口调试

2008-5-26 12:47 3610 5 7 分类: MCU/ 嵌入式


<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

    温湿度测试仪调试过程中发现串口通信不正常,发送乱码。由于该产品是07年设计的产品,并经过测试已在市面上销售,应该说是属于技术上成熟的产品。出现问题我首先想到应该是生产装配或元器件本身问题。于是从硬件着手,检测有无元件参数与实际图纸不相符合的地方,由于该测试仪能工作,能显示温度和湿度,因此排除单片机问题的可能性。串口外围电路也正常,为保险起见,用一个单片机开发板测试了一下串口电路,发现收发码正常,没有乱码的现像,那问题出在哪?难道是单片机串口坏了?还是软件有问题?回过头来看程序,仔细看波特率设置时才发现当硬件电路采用12M晶振时波特率误差是很大的,只有当晶振为 11.0592M时波特率的误差才为最小,更换晶振后故障得到解决。


但让我不解的是,为什么以前用12M的晶振可以呢,不光是元件清单上注明的12M,就连程序释里也标明的12M,难道和元件批次有不同,不同的单片机会有不同的误差允许范围?


总之,误差太大是绝对不允许的,这应该属于一个设计上的错误。对于设计好的产品进行调试的时候不应该只是检测它的功能能否实现,而应该检测与该产品相关的各项技术参数是否达标,这样一个产品设计才是合理的。


22687bda-9478-4910-9636-bed63f2d5e94.JPG


20bc6028-1d4f-4a9d-91ae-bdfb95bcf416.JPG


                                                 

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户114694 2008-5-27 10:14

呵呵,是这样的,当身边没11.0592M晶振的时候,可设置波特率为2400

用户80602 2008-5-26 20:20

很好,我以前实验时候也发现过这个现象,因为身边没11.0592M的,所以用了12M的饿,预料到可能会有问题,果然,当波特率9600或者4800时候,发现计算下来误差8.51%,传输会出错,党用2400的时候,误差0.16%,这样就很少出错!
相关推荐阅读
用户114694 2008-12-22 13:20
工作笔记——单电源反相比例放大器设计
放大器工作环境及要求:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />1、电源为单电...
用户114694 2008-12-05 09:38
电路工程师标准(转)
从技术上讲,每作完一个项目/电路设计,或者项目时间比较长,就在一段工作时间之后,好好小结一下最近的工作成绩,我觉得这是很有必要的。根据我个人的体会,可以参照下面的几点去总结。 另外我还想说,项目的完成...
用户114694 2008-07-16 15:02
用PNP管驱动继电器电路分析与验证
用PNP管驱动继电器电路分析与验证<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> ...
用户114694 2008-07-16 00:17
七路NTC热敏电阻测试平台
 单片机采用STC12C5410AD,由于该单片机的AD转换没有外部基准,基准源只能为VCC,而7805输出的电压有时并非标准的5V,可能会在4.9~5.1V间波动,为减小因电源而引起的误差,采用一A...
用户114694 2008-07-07 09:20
PCB设计模板
DXP格式原理图设计板框模板PCB制板要求...
用户114694 2008-06-12 13:05
NTC热敏电阻温度与阻值对应关系表
      该表运用了EXCEL强大的公式运算功能,只需在已知参数栏输入NTC的标称阻值和B常数(表中红色部分),便可自动算出NTC在-40度至127度对应的电阻值。为需要用到热敏电阻测温的场合提供了...
EE直播间
更多
我要评论
2
5
关闭 站长推荐上一条 /3 下一条