版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
版权
hardware专栏收录该内容
4 篇文章0 订阅
订阅专栏
开发板上引出TTL的UART0,插线连接到一个3232电平转换小板,再连到PC串口做控制台。上电后,启动信息正常显示,但是按键没反应,PC给开发板发数据好像不行。准备用示波器定位问题。
上网查了示波器的一般使用方法,终于搞清了触发模式:自动,单次,两者的区别。有符合条件的波形,自动模式下不会停,单次模式会抓到波形停下来。
纵轴电压设成2V一格,时间设成10us,量232的2脚,3脚,7脚当地,一个没反应,一个老大反应,超出屏幕,还试了其它所有脚当地。自己弄了半天没明白,请教同事。同事把电压设成10V,232的5脚是地,就好了。
测量发现,PC向开发板发数据,经转换小板把232转成TTL后,RXD与主板断开的情况下正常有信号,但是与主板连接的情况下,RXD的低电平是2V,0V才正常。换了一块转换板,低电压降到1V,还是不够低。原因,UART0的RXD拉到VK3214的TXD,被拉高了。
不能理解,电路原理忘光了。
收藏
一键三连
扫一扫,分享海报
专栏目录
基于MFC利用CSerialPort类自己写的串口小程序,可以发送文件;接收文件的程序是在《Visual C++/Turbo C串口通信编程实践》(第二版-龚建伟)一书中的“串口调试助手”源码的基础上改写的,文件默认保存于D:\RcvData.dat。 协议是:数据包的组成为:包头为一个字节(0xFF),接下来为一个字节的包长(200,可改变),接下来一个字节为包长的补码(256-200=56),接下来为200个字节的有效数据,接下来为两个字节的效验和。发送程序发送完一个数据包后等待接收程序的响应,如接收正确则发送下一个数据包,否则重发。接收程序接收到0xFF认为数据包开始,然后再累加接下来接收到的两个字节如其和为256则认为接收正确,然后累加接收到的200个有效字节,然后将其与接收到的效验和相比较,如相等则接收正确,向发送程序发送接收正确的响应,否则发送接收错误的响应。 感觉“雪莉蓝串口调试助手”中发送的十六进制输入时的输入模式比较好,打算自己效仿,由于没有源码,只能慢慢百度,于是花了一天,过程比较烦,中间也想过放弃算了,但还好最后实现了,happy一下。
小弟刚拿到am335的开发板。最近在做linux驱动移植,Kernel版本3.14.26,这两天移植485和232的驱动也就是Ti公司的omap-serial.c文件。 由于电路板上232和485是硬件支持切换的,485的rts管脚不需要在dts上配置。 移植之后,连接电脑做对发测试。 由于手里的转接线有限,只能像如下方式连接电脑 连接图为: ...