发布网友 发布时间:2022-04-24 08:54
共5个回答
热心网友 时间:2023-10-09 05:25
先解释一下现象:
(1)MAX232的12脚即R1OUT连接到了单片机的RX脚,因此使用探头碰MAX232的12引脚时导入了干扰信号,所以接收到了乱的数据。同时,也证明了单片机的接收电路和程序都没有问题。
(2)板子上的地接到示波器上的地,PC才能收到数据,说明单片机与PC没有共地。同时,也证明了单片机的发送电路、程序和PC的接收电路都没有问题。
原理:
(1)PC的串口即RS232有9个引脚,与单片机通信时用到三个引脚,依次是2脚RX、3脚TX、5脚信号GND。
(2)而单片机串口与此相反,2脚TX、3脚RX、5脚信号GND。
(3)只要把这三根线依次连接,2-2、3-3、5-5即可完成通信。
(4)同时,根据实际通信设备接口不同,串口线也分多种,如直连线、交叉线、公母头区别等。
故障排除流程:
(1)用万用表等测量MAX232的14脚T1OUT与开发板串行接口的2脚TX、MAX232的13脚R1IN与开发板串行接口的3脚RX、开发板串行接口的5脚与电源地是不是分别连接。如果连接没问题,则进行下一步。
(2)用万用表等测量串口线,PC端的2脚与单片机端的2脚、PC端的3脚与单片机端的3脚、PC端的5脚与单片机端的5脚是不是分别对应,如果对应连接没问题,则进行下一步。
(3)将PC上串行接口的2、3引脚短接。
(4)打开串口工具如“超级串口”等,下载地址http://www.powerserial.com/download/,打开串口,在输入框中随便输入几个字符,看是不是能在接收窗口中收到。
(5)如果收不到,则说明PC的串口问题(排除串口工具没有开错串口或短接没问题的情况下),换台电脑试下。能收到,则说明电脑端收发都没问题,进行下一步。
(6)将串口线插到电脑上,开发板端的插头不插而直接将2、3脚短接。再次用串口工具发送,看是否能接收到,如果能接收到,则证明串口线没问题,进行下一步。
(7)将串口线插到开发板得串行接口上,再使用串口工具收发。
(8)如果以上都不行,则自己做3根线,也可以使用杜邦线,将PC的TX与开发板的RX、PC的RX与开发板的TX、PC的信号地与开发板的地分别相连。再用串口工具收发测试。
通过以上步骤,则可以逐步排查到问题的具体原因。不过,根据问题及之后的描述,最大的可能性是串口线用的不对,导致PC串口与开发板串口的3根线没有分别对应上。
热心网友 时间:2023-10-09 05:25
单片机往PC上能发说明串口本身应该没有问题:如果是你自己做的板子最好查看一下单片机接收那一路是否有虚焊或有短路情况(直接使用现成的开发板无视)。追答初始化部分你的配置我不是很清楚(涉及到的波特率你检查下是否正确,串口调试设置的是否一致),主体部分是循环检测接收标志位,接收成功则退出循环点亮LED,应该没有问题。
解决程序问题最好还是使用调试。可以查看寄存器的值,下断点,帮助你查出问题。
热心网友 时间:2023-10-09 05:25
如果用的是51单片机,除了确认电缆没问题外,
热心网友 时间:2023-10-09 05:26
步骤一,串口调试可以对你的单片机发送吗?如果可以,那就是你PC程序问题,如果不可以,那就是你单片机问题,但是也可能是步骤二问题。热心网友 时间:2023-10-09 05:27
1、单片机串口控制在SCON里有个REN寄存器设置正确吗?接收允许标志。