485通讯问题
本帖最后由 anazel 于 2012-6-19 10:55 编辑这个是主机485电路,一般通讯正常,但有时候通讯中断,用串口助手可以看到主机在发送指令,可从机没反应,但用串口助手发指令从机就有返回,问题应该出在主机上,麻烦大家帮忙看看电路有什么问题?另外120匹配电阻加的位置对不对,还是放在485A和485B两端? 测量关键点波形,感觉光耦的参数设置不对,要注意光耦的CTR 两组电源? Q2怎么控制。 电源只有正5V一组 关键在P1.0如何控制Q2... 本帖最后由 anazel 于 2012-6-16 07:21 编辑
程序上有什么问题吗?
sbit DE_RE = P1^0;
/***********************************************************************
延时程序
************************************************************************/
void Delay_ms(uint ms)
{
unsigned char k;
while( ms-- )
{
for ( k = 0; k < 114; k++ );
}
}
/************************************************************************
接收数据子函数
*************************************************************************/
unsigned char rxdata()
{
uchar dat;
while ( !RI ) ; //等待数据接收完
dat = SBUF; //接收数据
RI = 0; //清中断标志
SM2 = 0;
return(dat);
}
/***************************************************************
* 发送一串数据
****************************************************************/
void put_buf(uchar *RX_Buf,len)
{
uchar i = 0;
while ( i < len )
{
SBUF = RX_Buf[ i++ ];
while ( !TI );
TI = 0;
Delay_ms(1);
}
} LZ的问题解决了吗? 还没有,不知道什么原因 电路呢? 测量关键点波形,感觉光耦的参数设置不对,要注意光耦的CTR
xiafeiyuan5 发表于 2012-6-8 11:20 https://bbs.21ic.com/images/common/back.gif
光耦参数不对,为什么会过2,3天才出问题呢? 主机和丛机的波特率一致吗? 本帖最后由 sjnh 于 2012-6-26 09:09 编辑
光耦参数不对,为什么会过2,3天才出问题呢?
anazel 发表于 2012-6-20 15:40 https://bbs.21ic.com/images/common/back.gif
电路原理没错, 120欧位置也没错(但20欧有点大,建议不超过10欧),有可能是光耦CTR的问题,TIL117最小CTR是50%,并且驱动小电流是输出波形会有延时,在经过传输、接收、温度等影响,可能就会出问题:
至于2、3天:我公司用的P521,这几年的产品一直有这个问题没人测试,也没有发现,好在1秒钟通信很多次,只要有1次成功也就算成功了。这次新产品通信严格了,发现了问题:就是半个小时后、或几个小时、一两天后出现通信报错。 学习了对通信这块了解不多看了各位的帖子收获不小谢谢 请问:1是不是一定要加光耦隔离?
2那个20欧的电阻是不是也一定要加?
新手,正准备做通讯,请赐教。 学习了。原来AB线真的是有差的 电路没什么问题,在测试过程中,先去掉接口防护二极管,以防止结电容过大。
关键是看你程序怎么控制了。
页:
[1]