搜索
bottom↓
回复: 6

关于485发送延时问题

[复制链接]

出0入0汤圆

发表于 2013-4-19 18:17:48 | 显示全部楼层 |阅读模式
//485数据发送
void send_data(unsigned char addr,unsigned char type,unsigned char len ,unsigned char *buf)//发送程序单片机---PC
{
        unsigned int i;
        unsigned char checksum =0;
         
        PORTC.5=1;
        putchar(0x68); //发送头
        delay_ms(1);   
       
        checksum=checksum+0x68;
    //发送地址
        putchar(addr);  
        delay_ms(1);
        checksum=checksum+addr;
       
        putchar(0x68);
        delay_ms(1);
        checksum=checksum+0x68;
        putchar(type);      //命令
        delay_ms(1);
        checksum=checksum+type;
        putchar((len+2));//长度,加2是表示2个数据标示   
        delay_ms(1);
        checksum=checksum+(len+2);
        putchar(rx_buffer[5]);//标识
        delay_ms(1);
        checksum=checksum+rx_buffer[5];
        putchar(rx_buffer[6]);   
        delay_ms(1);
        checksum=checksum+rx_buffer[6];
        for(i=0;i<len;i++)
        {
                putchar(*buf);  
                delay_ms(1);
                checksum=checksum+*buf;
                buf++;
        }
        putchar(checksum);
        delay_ms(1);
       
        putchar(0x16);
        delay_ms(2);
        PORTC.5=0;
       
}
为什么每次发生一个字节都要延时?PC才收到数据?

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出50入0汤圆

发表于 2013-4-19 21:19:18 | 显示全部楼层
执行putchar(0x16);后数据不是立即发送完毕的,要一定的间隔,在这个间隔中,如果没等数据发送完整,就改变485的RS位,数据会发送不全。

出0入0汤圆

发表于 2013-4-19 21:30:01 | 显示全部楼层
看你什么芯片了,有的芯片串口有FIFO缓冲,所以改变RS位只能使用发送完成中断。

出0入0汤圆

发表于 2013-4-19 21:41:24 | 显示全部楼层
波特率越小,延时时间越长,具体时间要大于一个字节发送时间,不然会缺码

出0入0汤圆

发表于 2013-4-20 00:15:38 | 显示全部楼层
你不会用中断方式发送吗?

出0入8汤圆

发表于 2013-4-20 08:31:36 | 显示全部楼层
保证串口真正发送完成之后才能动作。

出0入0汤圆

 楼主| 发表于 2013-4-20 11:55:30 | 显示全部楼层
HadesHe 发表于 2013-4-20 00:15
你不会用中断方式发送吗?

这就是中断发送啊。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-27 01:25

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表