3817|8

87

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

通讯接收 [复制链接]

请教各位,我用基于MODBUS协议实现单片机和pc机通讯,单片机中断接收,查询发送,以下是我的中断程序,我的想法是先接收完所有的数据再进行处理(包括地址判断,读寄存器等然后再发送),这样的话我接收的数据就定下来了,比如程序中只接受8个字节数据,如果我接收的数据字节不定,那样的话,我不知道怎么办?如何判断接收完毕呢?
interrupt [UART0RX_VECTOR] void UART0RX(void)
{
P5OUT=0X00; //P5.1,P5.2选通SP3481的发送接收允许端
receive_data[num_receive]=RXBUF0;
num_receive++;
if(num_receive==8)
{num_receive=0;
flag_send=1;//发送标志
P5OUT=0Xff;
}
}

最新回复

mark 留名备用  详情 回复 发表于 2012-6-12 21:13
 
点赞 关注

回复
举报

75

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
各位指点一下啊,我解决了多日没有解决啊
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
MODBUS协议是采用信息域的方式进行传输的,通常它具有两种传输方式:ASCII和RTU。
ASCII方式是以1个字节表示一个传输字符,1个信息域是以ASCII码的“冒号”即0x3A开始,以一个回车+换行符“CRLF”(0x0D and 0x0A)结束。在这种通讯模式下,连续接收数据,由此可以判断一个信息域的开始和结束。
RTU方式是以1个字节表示两个四位十六进制字符。一个信息域的启动和结束都是采用不少于3.5个字节的特定字符标识一个信息域。这个3.5个字节的特定字符称为“3.5个字符时期的无记载的时间间隔”,在启动和结束之间的数据要求连续发送,其两字符发送间隔最大不大于3.5个字符间隔时间。
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

4
 
这样的话,只有在接收中断中定时判断了吗?定时3.5个字符时间,溢出则结束,否则继续接收?还有别的办法吗?
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

5
 
对于MODBUS RTU模式,一典型的消息帧如下所示:

起始位:      T1-T2-T3-T4
设备地址:     8Bit
功能代码:     8Bit
数据:       n个8Bit
CRC校验:     16Bit
结束符:      T1-T2-T3-T4

其中“T1-T2-T3-T4”为至少3.5个字符时间的停顿,而两个“T1-T2-T3-T4”之间的每一个字节数据是连续传输的,由此可以根据每两个信息域的间隔时间进行判断。

在单片机中编程,只要进行单字节中断接收就可以了。但在完成每个字节的接收时启动一个大于“T1-T2-T3-T4”的延时,在延时结束前又收到新的数据则重新刷新这个延时;若在延时结束后收到新的数据,则可认为是新的信息域开始。
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

6
 
通讯中的寄存器是如何意思?
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(中级)

7
 
我也在搞modbus,暂时还是理论的研究,下一步抽时间做实验!大家多多交流!

 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

8
 
我也是今天收到任务,用485传输,协议是MODBUS
 
 
 

回复

19

帖子

0

TA的资源

一粒金砂(中级)

9
 
mark 留名备用
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表