|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
用75LBC184进行485通信的一个奇怪问题 |
作者:landaa 栏目:通信技术 |
我使用的单片机是51,用75LBC184进行485通信,在我调试的时候发现在11.0592MHZ晶振的时候,485收发都没有问题,当我用18.432MHZ的时候,接受正常,但是对于发送,75LBC184不对信号进行转换!我的TXD信号正常,但是75LBC184就是没有输出信号,而系统其他部分完全没有改动。 软件上我使用TH1做波特率发生器,当11MHZ时候设为0xfd,18MHZ时改为0xfb,但11MHZ完全正常,到了18MHZ立刻变成只能接受,75LBC184停止发送,请问这是怎么回事啊,我真是百思不解! 请各位不吝赐教! |
2楼: | >>参与讨论 |
作者: chunyang 于 2005/11/27 10:09:00 发布:
不关485接口的事 仔细检查你的程序,必有错误,只是你还未发现。 注意差别:18M下和11M下的串口只要正确设置不会有任何差别,但因速度不同,凡不受定时器控制的其它资源如IO等的信号宽度就不同了,说明你的程序结构本身就有问题,只是高速下才暴露出来而已。 |
3楼: | >>参与讨论 |
作者: etiller 于 2005/11/27 14:42:00 发布:
换个max的485试试 如果问题依旧,就是软件问题了,另外75系列的片子我感觉收发切换速度慢 |
4楼: | >>参与讨论 |
作者: zj4068 于 2005/11/30 22:52:00 发布:
我以前把51换成77e58的时候也碰到过 在数据手册上写着从接收状态转为发送的高电平的状态转换时间需要3.5us。我上次用普通51用在11.0592MHZ的也工作正常,换成W77E58的倍速的单片机后发送经常出错。因它的转换时间为3.5us,因此我把DE脚拉高以后(加若干个nop指令)使高电平保持大约4us以后再发送数据来解决问题。延时时间根据你的用的晶振时间来决定。 |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |