通信与网络专区 首页 / 论坛 / 自由讨论 / 通信与网络专区
通信与网络已变得与人们的生活密不可分,进入这一领域,与大家一起探讨它的趋势和发展前景。
发表新主题   上一主题 收藏 打印 关注  推荐  推荐到我的小组 
楼主 问题: 通讯中的一个奇怪问题! 发布时间: 2002-5-30 下午7:21

作者:

等级: 初入江湖

积分: 192 分

发帖数: 32 次

网站总积分: 192 分

发送消息

加为好友

查看用户的所有发言

在PC机与单片机进行串行异步通讯时,为什么在PC机向单片机发送数据时,它所发的数据会反弹回来,也就是,PC向单片机发送的数据会出现在接收缓冲区里,我这里的PC机的接收程序是采用中断的方式的。我真的不明白?所以还请各位行家赐教!
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0)
第 1 楼 会不会时采用了loop back方式? 发布时间: 2002-5-31 上午9:05

作者: Flanker

等级: 遁门入道

积分: 360 分

发帖数: 115 次

网站总积分: 360 分

发送消息

加为好友

查看用户的所有发言

会不会时采用了loop back方式?你用单片机的UART与PC机连接吗?PC的接收程序采用什么中断方式?
引用 回复
鲜花 ( 0) 臭鸡蛋 ( 0)
第 2 楼 接口芯片采用的是MAX232 发布时间: 2002-6-5 下午9:20

作者:

等级: 初入江湖

积分: 192 分

发帖数: 32 次

网站总积分: 192 分

发送消息

加为好友

查看用户的所有发言

我的接口芯片采用的是MAX232芯片,PC机的中断,具体我不是很清楚,我只知道PC机用的是Delphi语言里的一个叫MSCOMM的通讯控件!这个控件可以实现通讯的所有功能。请问这有关系吗?
引用 回复
鲜花 ( 0) 臭鸡蛋 ( 0)
第 3 楼 仔细检查一下通讯的方式 发布时间: 2002-6-6 上午9:48

作者: Flanker

等级: 遁门入道

积分: 360 分

发帖数: 115 次

网站总积分: 360 分

发送消息

加为好友

查看用户的所有发言

建议仔细检查一下通讯的方式。MSCOMM控件我不了解,但是我想他的原理和方式脱离不了硬件。现在PC机的串口一般都是16C552或16C554,总之基本单元是16C550。这些UART都带loop back diagnostic mode。注意不要设成这种模式。UART是采用硬件中断来接收数据的,在PC机上是可配置的。一般来说,软件层会把这些都屏蔽掉。此外,如果PC机上的MSCOMM控件使用正确,在检查一下单片机方的通讯方式,是否是MCU把数据弹了回去?
引用 回复
鲜花 ( 0) 臭鸡蛋 ( 0)
第 4 楼 拿掉MCU得到同样的结果 发布时间: 2002-6-6 下午9:15

作者:

等级: 初入江湖

积分: 192 分

发帖数: 32 次

网站总积分: 192 分

发送消息

加为好友

查看用户的所有发言

我把MCU拿掉,但让MAX232工作,PC机发给串口的的数据还是被弹回来了,这与软件没有关系啊?而我对MAZ232内部电路的工作原理不是很清楚,不知道是不是MAX232会反弹呢? 还想请你详细请教!
引用 回复
鲜花 ( 0) 臭鸡蛋 ( 0)
第 5 楼 与MAX232无关 发布时间: 2002-6-7 下午10:07

作者: 论坛访客

等级: 学有小成

积分: 549 分

发帖数: 157 次

网站总积分: 561 分

发送消息

加为好友

查看用户的所有发言

MAX232仅完成RS232电平到TTL电平的转换,与所谓的反弹无任何联系。
引用 回复
鲜花 ( 0) 臭鸡蛋 ( 0)
第 6 楼 出现这个问题的原因是什么呢? 发布时间: 2002-6-8 下午3:55

作者:

等级: 初入江湖

积分: 192 分

发帖数: 32 次

网站总积分: 192 分

发送消息

加为好友

查看用户的所有发言

数据的反弹与单片机绝对没关系的,因为我没让单片机工作啊。那会不会与RS422电平的传输有关呢?我采用的芯片是MAX487,与它有关吗?
引用 回复
鲜花 ( 0) 臭鸡蛋 ( 0)
第 7 楼 先用终端调试一下 发布时间: 2002-6-10 上午11:15

作者: Flanker

等级: 遁门入道

积分: 360 分

发帖数: 115 次

网站总积分: 360 分

发送消息

加为好友

查看用户的所有发言

建议你先把你的MSCOMM控件放到一边,先用一个终端程序调试一下,看看能否正常收发。如果你没有专门的终端程序,也可以用超级终端。
引用 回复
鲜花 ( 0) 臭鸡蛋 ( 0)
第 8 楼 我已经试过了! 发布时间: 2002-6-11 下午2:06

作者:

等级: 初入江湖

积分: 192 分

发帖数: 32 次

网站总积分: 192 分

发送消息

加为好友

查看用户的所有发言

用超级终端,我试过了,出现的现象一样!所以,与PC机的程序应该是没关系的!
引用 回复
鲜花 ( 0) 臭鸡蛋 ( 0)
第 9 楼 检查过CMOS的设置么 发布时间: 2002-6-12 下午2:32

作者: Flanker

等级: 遁门入道

积分: 360 分

发帖数: 115 次

网站总积分: 360 分

发送消息

加为好友

查看用户的所有发言

你是怎么做的实验?超级终端联超级终端?检查过CMOS的设置么?如果配置正确,超级终端又不能正常收发,那么这个串口是不可用的,也就是说,如果用这个串口通信是不行的。或许串口已经败掉了。
引用 回复
鲜花 ( 0) 臭鸡蛋 ( 0)
第 10 楼 串口不可能坏! 发布时间: 2002-6-13 上午9:42

作者:

等级: 初入江湖

积分: 192 分

发帖数: 32 次

网站总积分: 192 分

发送消息

加为好友

查看用户的所有发言

我的意思是用同超级终端与下位机进行数据的收发,还有用另外的一个VB程序(这个VB的通讯程序也是经过检验是正确的),所有的现象一样,即上位机发送出去的数据都会出现在接收缓冲区里!
引用 回复
鲜花 ( 0) 臭鸡蛋 ( 0)
第 11 楼 可能是MAX232的问题 发布时间: 2002-6-13 上午11:09

作者: Easy

等级: 初入江湖

积分: 104 分

发帖数: 2 次

网站总积分: 104 分

发送消息

加为好友

查看用户的所有发言

我手上的调试板也有这样的问题,分析电路图,发现在MAX232的TTL端输出和输入连在了一起.这样PC发送的数据就被反馈回去了。不知你的是否这样
引用 回复
鲜花 ( 0) 臭鸡蛋 ( 0)
第 12 楼 看一下你的问题是否如easy所说 发布时间: 2002-6-14 下午4:33

作者: Flanker

等级: 遁门入道

积分: 360 分

发帖数: 115 次

网站总积分: 360 分

发送消息

加为好友

查看用户的所有发言

看一下你的问题是否如easy说的那样。如果不是,把你的硬件板子和程序都扔在一边,用两个pc串口,或用MODEM是一下,确认你得串口工作正常。如果工作正常,再去调你的板子。用Oscilloscope看一下收发数据线的信号,确认一下逻辑上到底出了什么错,再去找原因。我觉得可能像easy所说的那样,输入输出在什么地方给短接成LOOP BACK了。你是调硬件的还是只管软件?若是只管调软件,就很衰了。
引用 回复
鲜花 ( 0) 臭鸡蛋 ( 0)
第 13 楼 没有啊! 发布时间: 2002-6-14 下午9:02

作者:

等级: 初入江湖

积分: 192 分

发帖数: 32 次

网站总积分: 192 分

发送消息

加为好友

查看用户的所有发言

我的已经测过了,没有这种问题!
引用 回复
鲜花 ( 0) 臭鸡蛋 ( 0)
第 14 楼 谢谢Flanker和各位! 发布时间: 2002-6-18 下午9:22

作者:

等级: 初入江湖

积分: 192 分

发帖数: 32 次

网站总积分: 192 分

发送消息

加为好友

查看用户的所有发言

谢谢你们的指教,我的问题现在还是没查出来,已经没时间了,但是很感激你们!真的谢谢,特别是Flanker!谢谢你!
引用 回复
鲜花 ( 0) 臭鸡蛋 ( 0)
第 15 楼 可能是软件问题。 发布时间: 2002-7-1 下午5:16

作者: SLIPER

等级: 初入江湖

积分: 104 分

发帖数: 2 次

网站总积分: 104 分

发送消息

加为好友

查看用户的所有发言

在超级终端或TERMINAL中有“本地回显(ECHO)”项,估计你的软件包也有此参数。 设置对了就没问题。
引用 回复
鲜花 ( 0) 臭鸡蛋 ( 0)
第 16 楼 RS422 和 RS485 发布时间: 2002-7-6 下午4:19

作者: 论坛访客

等级: 学有小成

积分: 549 分

发帖数: 157 次

网站总积分: 561 分

发送消息

加为好友

查看用户的所有发言

MAX487 的发送和接收的控制,如果是半双工,只有两根线,发送时一定要把接收关掉,否则就会 收到自己发送的数据。
引用 回复
鲜花 ( 0) 臭鸡蛋 ( 0)
第 17 楼 我明白了! 发布时间: 2002-7-26 下午3:18

作者:

等级: 初入江湖

积分: 192 分

发帖数: 32 次

网站总积分: 192 分

发送消息

加为好友

查看用户的所有发言

谢谢你们大家! 我知道原因了,是一个低级错误,正和diao说的一样,是发送的时候,接受没有关闭掉,实在惭愧啊!
引用 回复
鲜花 ( 0) 臭鸡蛋 ( 0)
第 18 楼 看,问题总能解决的。 发布时间: 2002-7-29 上午11:45

作者: Flanker

等级: 遁门入道

积分: 360 分

发帖数: 115 次

网站总积分: 360 分

发送消息

加为好友

查看用户的所有发言

芯片的spec要看明白,否则会走弯路,错的莫名其妙。
引用 回复
鲜花 ( 0) 臭鸡蛋 ( 0)
第 19 楼 我的数据也被弹回 发布时间: 2005-2-25 上午11:30

作者: 细水长流...

等级: 初入江湖

积分: 130 分

发帖数: 9 次

网站总积分: 130 分

发送消息

加为好友

查看用户的所有发言

我也有发送的数据被弹回的问题,但是我在51的座上插上仿真器就不会,但插上单片机或不插就会被弹回。
引用 回复
鲜花 ( 0) 臭鸡蛋 ( 0)
第 20 楼 哦这样啊 发布时间: 2005-11-8 上午11:58

作者: hxhan

等级: 初入江湖

积分: 102 分

发帖数: 1 次

网站总积分: 102 分

发送消息

加为好友

查看用户的所有发言

哦这样啊
引用 回复
鲜花 ( 0) 臭鸡蛋 ( 0)



快速回复
用户名:
游客null (您目前以游客身份发表,请登陆 | 注册)
标题: *
评论: *
验证码:  * 
维护专业、整洁的论坛环境需要您的参与,请及时举报违规帖子,如果举报属实,我们将给予相应的积分奖励。
谢谢您的热心参与!
返回通信与网络专区 | 返回自由讨论
本论坛仅陈述专家或个人观点,并不代表电子工程专辑网站立场。