最近在开发GPRS-RTU模块,设计PC机通过串口配置RTU参数,在调试串口程序的时候发现老是出错,具体表现为:
带JTAG仿真时候通讯正常,拔下JTAG仿真器通讯就不正常,出现乱码 。
折腾了一天,尝试各种办法:换电容,测晶振,示波器测串口波形。
在示波器测的时候又出现一现象,示波器地接上就OK,拿掉就乱码。
因此怀疑是串口地线有问题!!
后来上网查看,找到下面两篇博文,和我这出现的现象一致,解决方法都提到是串口地问题:
http://bbs.ednchina.com/BLOG_ARTICLE_45907.HTM点击打开链接
http://blog.sina.com.cn/s/blog_6c72b22d0100rv9s.html点击打开链接
问题最终归结为电路板地和PC地不同地,DB9针的1脚和5脚弄反了,在画电路的时候DB9的针脚定义没有搞清楚。接地后一切OK!
如下图,DB9针引脚顺序及定义如下: