问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在调试rs232串口通信时,单片机往PC机上发数据,串口调试助手可以接收,但是PC往单片机发数据,接收不到。

发布网友 发布时间: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的代码的问题。如果没有那就是没接收到。
还没有就再使用示波器,示波器要设置成低电平触发模式,单片机的串口(TX,RX)平时都是高电平,起始位是低电平,后面就是你设置的数据位(7位或8位),还有停止和校验位根据你设置的情况。数据发送都是瞬间完成的,所以一定要使用触发模式,如果捕捉不到,说明PC端的发送有问题,可以换个串口调试工具,还不行换跟串口线,再不行换台电脑。一般到此问题肯定能解决了啊(除非中途有操作失误的情况)
另外,一般使用串口还是使用中断模式,可以节省系统资源,降低功耗!追问void siopinit() // 串口0、1初始化,设置串口0、1通信协议
{ RCLK=0;
TCLK=0;
TMOD=0x20; PCON=0; SCON=0x50; TH1=0xf8; TL1=0xf8; CKCON=0x11; TR1=1; }
void main(void)
{ siopinit();
while(1)
{ while(RI==0);
RI=0;
P11=0; //点亮LED2
}
这个程序有问题吗?

追答初始化部分你的配置我不是很清楚(涉及到的波特率你检查下是否正确,串口调试设置的是否一致),主体部分是循环检测接收标志位,接收成功则退出循环点亮LED,应该没有问题。
解决程序问题最好还是使用调试。可以查看寄存器的值,下断点,帮助你查出问题。

热心网友 时间:2023-10-09 05:25

如果用的是51单片机,除了确认电缆没问题外,
可以查一下又没有可能不小心把对应RXD的SFR给赋值0了,查这个不一定要看程序,可以拔掉单片机芯片看串口上接收引脚波形,不好拔的话,按住单片机复位开关不松手也许也可以。追问好的,谢谢

热心网友 时间:2023-10-09 05:26

步骤一,串口调试可以对你的单片机发送吗?如果可以,那就是你PC程序问题,如果不可以,那就是你单片机问题,但是也可能是步骤二问题。
步骤二:发送数据不对,一般常见的,比如16进制发送?还是ACSII发送?
步骤三:学会使用“串口监视”的小工具,监视数据包是否遵循协议。
步骤四:看你PC程序吧。用串口监视工具可以发现,可能你的PC程序都没有包出来。

热心网友 时间:2023-10-09 05:27

1、单片机串口控制在SCON里有个REN寄存器设置正确吗?接收允许标志。
2、串口中断开了吗?即使是查询方式也要有RI状态可以查询才能接收。
3、单片机串口接收最好还是用中断方式,方便的多
void ISR_SERIAL(void) interrupt 4
{
uchar i;
if(RI) //RI接受中断标志
{
RI = 0; //清除RI接受中断标志
i = SBUF; //SUBF接受/发送缓冲器
}
SBUF= i;// Echo
while(!TI);
TI = 0;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
提成点数怎么算公式 Huamei/华美每日粗粮粗纤维饼-适用对象 0pp01107格式化后成白屏且不能开机怎么办 五邑大学是市属还是省属 五邑大学校区有几个 窝瓜焖荷包蛋怎么做? 达科塔·芬妮简要生平 湖北自动冷库多少钱 虹口区海洛斯精密空调 ...回事联想电脑为什么一接通电源自己就自动开机了 使用sscom32.exe串口调试USART不定长收发时,点击发送按钮后,出现如下图片显示的问题,求大神解答!! UPS不间断电源用数据线连电脑,根据通讯协议用串口调试助手,可以收发监视和控制命令,属于哪一类技术? labview写的串口收发程序为什么在串口调试助手上接收不到信息,我使用的电脑的串口自发自收的 在一台电脑上,用串口调试工具向串口发送数据,用VB做的串口程序就可以接收吗? 怎么使用串口调试助手? 串口调试助手SComAssistantV2.1如何使用 如何使用串口调试助手ComTone调试串口 串口调试助手怎么发送数据在接收区显示 如何使用串口调试工具收发cc2530串口数据? 怎么用串口调试工具接收PLC发送的数据 中级会计师合格分数线是多少? 电脑桌面上的软件安装程序怎样才能彻底删除? 如何才能彻底删除安装在电脑中的软件? 苹果7Plus怎么安装软件? 兔子夹子横放还是竖放 吸水拖把那个夹海绵的那个夹子叫什么夹子? 平板拖把飞梭夹好用还是蝴蝶夹子 为防捕兽夹被猎物受伤后拖走,该怎么固定? 锅底灰的化学成分是什么 锅底灰是怎样形成的? 串口调试助手 在做串口通信时怎样进行笔记本电脑与开发板的联系,串口调试助手起什么作用,怎么用呀 ,问一下,谢谢呀 使用串口调试助手调试怎么会有自动接收数据,是不是连接错误还是怎样,在线等 你好,我现在想通过串口,将电脑与MCGS连接进行通信,简单的我从串口调试助手发送数据,MCGS收到即可 下图为世界局部地区某节气的海平面等压线分布图。读图完成下列各题。 小题1:该节气最可能是 A.立春 (二q八4?浙江二模)如图为世界局部五区某节气的海平面等压线分布图.该日,台湾的天气预报内容可能是( 海南,深圳等这些热带地区如何使用二十四节气 节气的解释 关于海南的二十四节气的谚语 潮水涨落与节气划分有没关系 怎么样在网上查技能证书 如何在网上查证书 孩子总是乱发脾气,大人该怎么引导? 孩子总是乱发脾气,需要怎样处理? 小孩子总是爱无缘无故的发脾气,应该怎么解决? 3岁孩子经常发脾气,这时父母应该采取哪些处理方式? 孩子经常爱发脾气,作为家长应该怎样正确引导? 孩子动不动就经常发脾气怎么办 我的孩子经常发脾气,怎么办? 孩子总爱发脾气怎么办?