微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > 硬件电路设计讨论 > 请教大家一个关于串口通信的问题

请教大家一个关于串口通信的问题

时间:12-12 整理:3721RD 点击:
1)有一个ARM开发板,具有RS232三线串口,RX、TX、GND,插针形式;
2)有另一个MCU板,具有TTL电平的rx、tx,插针形式;
3)然后在淘宝上买了一个TTL转RS232电平的转换板,芯片是max3232,但据老板说是国产的。接口上,一边是DB9母口(RS232),另一边是插针(TTL)。
4)由于转换板是DB9母口,所以我自己找了一个DB9公头,并焊上了杜邦线;
现在想用这个ARM开发板作为上位机,与MCU板通过串口通信,中间通过转换板进行电平转换。接法如下:
-----------       --------------        ------------------------        -------
|         |------>|            | -----> |         max3232      | -----> |     |
|ARM  插针|       |插针 DB9公头|        |DB9母头   转换板  插针|        |MCU板|
|         |<------|            | <----- |                      | <----- |     |
-----------       --------------        ------------------------        -------
注:转换板与MCU板的VCC/GND均与ARM板对应接口连接
结果发现无法正常通信。
已经进行过的实验包括:
1)ARM板的串口进行环回测试,正常;
2)使用USB接口的串口连接线,用PC与MAX3232转换板+MCU通信,正常;
3)自己焊的DB9公头连接线,用万用表测试连接,也是通的;
4)ARM插针与DB9的插针,RX、TX直连和交叉连接都试过,结果一样都是无法通信。
我就不知道问题出在哪了,是信号质量问题吗?拜托大伙给出出主意,谢谢!

使用USB接口的串口连接线,用PC与ARM开发板通信试一试。
波特率?

你买的TTL转232模块需要供电,插PC上好使是转换板通过DB9取电了,你的ARM开发板只有收发地三根线是没法给232模块供电的,你好好看看你的转换板应该有个供电口,一般是5V。  
  

db9对接的时候线序没弄错吧, 那个线序不论公母头,都是2发3收5地,把这三个弄对了,再注意下全双工的概念

有供电,取自ARM开发板的5V输出

波特率我试了9600,115200,230400,都不行。
对,这个我也有想过,只是没想好该怎么测。
假设说我在PC端运行一个程序A,发送数据给ARM板,那ARM板这一侧的程序应该怎么触发呢?
中断?轮询?不太熟:(

PC端用串口调试器发一个指令,ARM收到后回传几个字符不就行了么

arm的地线要一直通到mcu这边
arm你能测环回,就一级一级测下去啊,把你焊的板2、3短接,试下自发自收
再把转换板靠mcu这边的收发短接试下
看到了哪一级不通了

arm的波特率未知?用示波器量下

谢谢大家,问题解决了,出在自己焊的DB9接头那。
不过很奇怪,DB9前后用万用表测量是通的,但是收发数据就不行。

线不好?

线应该没问题,用的杜邦线,环回测试用的也是这个
怀疑还是这个DB9的头不好

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top