请教单片机串口通讯rxd异常问题

请教PC与单片机串口通讯的高手指点一下!
[问题点数:150分,结帖人dengnansky]
请教PC与单片机串口通讯的高手指点一下!
[问题点数:150分,结帖人dengnansky]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2007年9月 VB大版内专家分月排行榜第二
2008年3月 VB大版内专家分月排行榜第三2007年8月 VB大版内专家分月排行榜第三
匿名用户不能发表回复!|请教串口通讯隔离问题 - 捷配电子市场网
请教串口通讯隔离问题
作者:wintech 栏目:
请教串口通讯隔离问题&&&&我有一个项目,要求3~4个设备接入PC串口,但是彼此的信号采集端要完全隔离,我拟定以下方案,请有经验的大侠指点:方案1:信号采集到MCU之间用光电隔离,这样当然没有问题,但是麻烦,而且每个设备都需要用到12~15个光藕,还要用到隔离电源.方案2:MCU到之间用光藕隔离,但是同样需要用到隔离电源,因为担心3~4个串口设备同时窃电不能工作.而且可能光藕会有速度限制.我的通讯速度在19200Bps以内.方案3:MCU直接通过光藕隔离送到,不知道是否可行,此法属于猜测,而且不知道3~4个串口设备同时接入光藕会不会过载?&&&&哪位有简单有效的方法或成功的案例?请多多指教.
作者: ludongfeng 于
21:45:00 发布:
用多串口卡简单用多串口卡简单,直接装在电脑的PCI槽上,多串口卡种类很多应该满足你的需要。
作者: ludongfeng 于
22:20:00 发布:
方案3:MCU直接通过光藕隔离送到可行,方案3:MCU直接通过光藕隔离送到可行,下图仅供参考。D:\未命名.bmp
作者: yorktang 于
22:41:00 发布:
用USB口能否考虑?用USB口能否考虑?即插即用,现在一般的PC机都有多个USB口,当然要驱动软件支持才行!如果用光藕,我不记得现在的光藕反应时间是多少,这里需要与19200Bps换算比较,太清楚你的具体情况,只是随便说说!
作者: 南方的老树 于
23:17:00 发布:
RE:1、最便宜最常用的光耦,都能通过19200,这是我试过的,型号就不说了;但是要达到19200,注意光耦的限流电阻和上拉电阻的选择!限流电阻和上拉电阻比做开关量隔离的时候要小一点。2、3~4个串口,当然使用4串口卡或者8串口卡,4串口卡大概在400元,8串口卡在580元;瑞旺和moxa都有;3、每个设备都需要用到12~15个光藕?如果只有TX和RX,那每个串口只需要2个光耦,加起来是8个光耦;4、MCU直接通过光藕隔离送到,此方案可行,但是一样要加;串口窃电,作TTL -&的电平转换;MCU的TX要加强驱动能力,比如加一片,或者加一个三极管;至于MCU的接收,串口的的TX直接打开光耦,没有问题;的TX驱动能力很强,光耦的限流电阻可以选1K以上; * - 本贴最后修改时间: 23:27:59 修改者:南方的老树
作者: 汽车电子 于
4:28:00 发布:
建议用,全部设备挂在总线上,省钱,速度快&&&如果多个,则必须用串口卡&&&
作者: wintech 于
0:27:00 发布:
多谢各位可否请贴几个图来参考一下?^-^ 我是不是太懒惰了?
讨论内容:
Copyright &
www.dzsc.com 浙ICP证030469号21ic官方微信-->
新人请教:485串口通信问题?
实习生, 积分 21, 距离下一级还需 29 积分
实习生, 积分 21, 距离下一级还需 29 积分
实习生, 积分 21, 距离下一级还需 29 积分
实习生, 积分 21, 距离下一级还需 29 积分
最近在调试单片机485通信,可是有个问题困扰好久,正常发送接收都是可以的,当拔掉串口线,在重新插上后,接收方就接收不到数据了,程序一直保持原来状态没反应(比如正常接收到数据,可以打开关闭LED),串口助手上看了发送数据都是正常的,就是一拔掉串口线在插上就没反应了。不知哪里出了问题?接收是中断接收。求教!!
建议先检查硬件啊,这种问题硬件可能比较大
实习生, 积分 21, 距离下一级还需 29 积分
实习生, 积分 21, 距离下一级还需 29 积分
实习生, 积分 21, 距离下一级还需 29 积分
实习生, 积分 21, 距离下一级还需 29 积分
硬件的话,正常连接的时候,接收都正常的,硬件也是常用的485驱动电路。
实习生, 积分 21, 距离下一级还需 29 积分
实习生, 积分 21, 距离下一级还需 29 积分
实习生, 积分 21, 距离下一级还需 29 积分
实习生, 积分 21, 距离下一级还需 29 积分
硬件的话,正常连接的时候是可以接收并能控制,看不出哪问题,485常规的驱动电路。
收不到数据的时候,测一下485的通信线的波形是怎样的?
各个关键电压是否正常?
MCU是否还正常运行?
资深技术员, 积分 345, 距离下一级还需 155 积分
资深技术员, 积分 345, 距离下一级还需 155 积分
资深技术员, 积分 345, 距离下一级还需 155 积分
资深技术员, 积分 345, 距离下一级还需 155 积分
应该是CPU串口设置问题。
实习生, 积分 21, 距离下一级还需 29 积分
实习生, 积分 21, 距离下一级还需 29 积分
实习生, 积分 21, 距离下一级还需 29 积分
实习生, 积分 21, 距离下一级还需 29 积分
应该是CPU串口设置问题。
串口寄存器的配置吗?
高级技术员, 积分 632, 距离下一级还需 368 积分
高级技术员, 积分 632, 距离下一级还需 368 积分
高级技术员, 积分 632, 距离下一级还需 368 积分
高级技术员, 积分 632, 距离下一级还需 368 积分
数据帧出错了?单片机收不到正确数据了。用的是什么单片机?
中级工程师, 积分 4486, 距离下一级还需 514 积分
中级工程师, 积分 4486, 距离下一级还需 514 积分
中级工程师, 积分 4486, 距离下一级还需 514 积分
中级工程师, 积分 4486, 距离下一级还需 514 积分
retry机制没整好
资深工程师, 积分 11927, 距离下一级还需 8073 积分
资深工程师, 积分 11927, 距离下一级还需 8073 积分
资深工程师, 积分 11927, 距离下一级还需 8073 积分
资深工程师, 积分 11927, 距离下一级还需 8073 积分
协议没做好,或者是RS485方向控制没做好。
初级技术员, 积分 87, 距离下一级还需 13 积分
初级技术员, 积分 87, 距离下一级还需 13 积分
初级技术员, 积分 87, 距离下一级还需 13 积分
初级技术员, 积分 87, 距离下一级还需 13 积分
协议没做好。
实习生, 积分 21, 距离下一级还需 29 积分
实习生, 积分 21, 距离下一级还需 29 积分
实习生, 积分 21, 距离下一级还需 29 积分
实习生, 积分 21, 距离下一级还需 29 积分
协议没做好,或者是RS485方向控制没做好。
多谢各位,是的,问题已解决!
助理工程师, 积分 1116, 距离下一级还需 884 积分
助理工程师, 积分 1116, 距离下一级还需 884 积分
助理工程师, 积分 1116, 距离下一级还需 884 积分
助理工程师, 积分 1116, 距离下一级还需 884 积分
多谢各位,是的,问题已解决!
具体什么原因造成的?
实习生, 积分 9, 距离下一级还需 41 积分
实习生, 积分 9, 距离下一级还需 41 积分
实习生, 积分 9, 距离下一级还需 41 积分
实习生, 积分 9, 距离下一级还需 41 积分
串口寄存器的配置吗?
扫描二维码,随时随地手机跟帖
终身成就奖章
等级类勋章
坚毅之洋流
发帖类勋章
时间类勋章
技术领袖奖章
人才类勋章
核心会员奖章
等级类勋章
技术新星奖章
人才类勋章
技术奇才奖章
人才类勋章
时间类勋章
欢快之小溪
发帖类勋章
社区建设奖章
等级类勋章
精英会员奖章
等级类勋章
奔腾之江水
发帖类勋章
时间类勋章
甘甜之泉水
发帖类勋章
时间类勋章
您需要登录后才可以回帖
热门推荐 /4请教串口通讯问题 - 捷配电子市场网
请教串口通讯问题
作者:yaya80 栏目:
请教串口通讯问题请教:&&&&我用编了一个串口通讯程序,在PC机上用串口调试助手接受数据,在上设置波特率为,但是在串口调试助手上用接收时数据不对,将波特率改为时接收的数据就是对的,很奇怪,我检查了的串口设置,波特率就是,为什么在PC机端,只有用的波特率才能接收到正确的数据呢?请各位高手指教一下,谢谢!
作者: hanyafeng 于
17:20:00 发布:
不会在融短丝设置项中没有将主频8分频的选项,除非是m162(我使用过)有此项。另外,膜板出来的代码必须看而且修改,里面有错误,特别是d版的东西。
作者: lzhwbd 于
18:04:00 发布:
熔丝位有没有可能是熔丝位的问题,默认是内部RC 的晶振。
作者: yaya80 于
21:34:00 发布:
TO:高手们各位高手大哥: &&&&能不能解释清楚一点,我怎么听不懂啊,跟熔丝位有什么关系啊,我是新手,多指教一下阿!谢谢了!
作者: lzhwbd 于
12:15:00 发布:
熔丝位熔丝位里面有四位CKSEL3..0是用于选择单片机时钟源的。
作者: hezhong 于
16:21:00 发布:
给段 看看#define fosc 6000000&&&&//晶振#define baud &&&&&&&&//通信波特率bit/sUCSRA=00;UCSRB=(1&&RXCIE)|(1&&RXEN);UBRRL=(fosc/16/(baud+1))%256;//0x37;UBRRH=(fosc/16/(baud+1))/256;//0x01;UCSRC=(1&&URSEL)|(1&&UCSZ1)|(1&&UCSZ0);SPCR=(1&&SPIE)|(1&&SPE)|(1&&SPR1)|(1&&SPR0);//0xC3;//128分频/*&&允许USART发送&&*/void txenable(void){ UCSRA=00; UCSRB=(1&&TXEN);}
作者: zsmbj 于
8:13:00 发布:
仔细读一下手册关于晶振的部分吧。&
作者: neeme 于
14:50:00 发布:
UART 的速率的晶振提供的熔丝位可以对晶振进行分频,所以检查晶振与熔丝位的设定
讨论内容:
Copyright &
www.dzsc.com 浙ICP证030469号您现在所在的是:
单片机论坛
→ 浏览主题:
* 帖子主题:
yuyinliu168
文章数:139
年度积分:50
历史总积分:1103
注册时间:
大家好。。。我想请问VB与单片机通讯的问题。。。我可以用通讯调试助手与单片机通讯例如我发送FF。。8个灯全灭。。。FE。。一个灯亮。。。但是当我用VB写的时候就不行了。。VB我是这样写的
dim a as varinte
a=text1.text
mscomm1.portopen = true
mscomm1.output=chr("&H" & hex(a))
mscomm1.portopen = false
问题就是我输入255(FF),单片机里面是P0=SBUF ,想灯全灭的。。但是灯全亮了
输入254(FE)还是灯全亮。。。但是输入低于127(7F)的数据灯就正常。。。我想不明白哪里有问题。。。请教1.单片机串口通讯是以什么数制输入的呢。。。怎样可以在TEXT上面输入例如FF,FE那些十六进制数来控制灯得亮灭呢。。。希望能指教一下程序2.我看到有些书上写MSCOMM.OUTPUT输出数组,但是运行起来是报错 请问能串口输出数组吗。。。谢谢大家指教
文章数:2390
年度积分:341
历史总积分:10124
注册时间:
说的不是很清楚
tigermu 版主
文章数:11969
年度积分:803
历史总积分:27223
注册时间:
2016论坛优秀版主
2016国庆活动(一)
2015论坛优秀版主
西门子logo体验(三)
英威腾PLC体验(三)
2015春节活动
2014论坛优秀版主
2013论坛优秀版主
2012论坛优秀版主
2010年度论坛贡献奖
从你的控制来看,你是控制一个P口,只需要8位数据,所以建议你用byte类型的变量。
tigermu.blog.sohu.com & 无声无息
文章数:301
年度积分:50
历史总积分:1478
注册时间:
08年优秀博客奖
欢迎光临我的BLOG
guanyumou 版主
文章数:5997
年度积分:928
历史总积分:11440
注册时间:
2017春节活动(三)
你联系我吧!我这里有现成的例子供你参考的!!QQ 包括VB VC++ DELPHI和单片机通信的例子都有呢!!你联系我QQ
基于各种组态软件\触摸屏\PLC\单片机\变频器MODBUS RTU串口通信编程服务,需要请直接
联系!腾讯扣扣
文章数:3048
年度积分:56
历史总积分:7971
注册时间:
如3楼,用byte
Dim sb() As Byte
&If Checkhex.Value Then
& & & &ReDim sb(n - 1)
& & & &For i = 0 To n - 1
& & & & & &sb(i) = Val("&H" & Trim(Mid(TxtSASC.Text, i * 3 + 1, 3)))
& & & &Next i
& & & &MSComm1.Output = sb
& & & &MSComm1.Output = Txtsend.Text
工控学堂推荐视频:

我要回帖

更多关于 plc与单片机串口通讯 的文章

 

随机推荐