11545|12

5

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

请问单片机通讯时怎么来确定数据发完了? [复制链接]

请问单片机通讯时怎么来确定数据发完了?              根据什么原理?
此帖出自单片机论坛

最新回复

看不懂.............................................:L  详情 回复 发表于 2007-9-9 02:09
点赞 关注
 

回复
举报

1

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

回复:请问单片机通讯时怎么来确定数据发完了?

什么通信?
此帖出自单片机论坛
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

回复:请问单片机通讯时怎么来确定数据发完了?

就是2个单片机之间发数据和接受数据.
此帖出自单片机论坛
 
 
 

回复

337

帖子

0

TA的资源

裸片初长成(中级)

4
 

回复:请问单片机通讯时怎么来确定数据发完了?

可以是定长,也可以使用通讯结束专用符号。
此帖出自单片机论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

5
 

回复:请问单片机通讯时怎么来确定数据发完了?

超时检测
此帖出自单片机论坛
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

6
 

回复: 请问单片机通讯时怎么来确定数据发完了?

求累加和是什么意思是? 在2个单片机通讯时我看了别人写的汇编程序是用的求累加和的方法.这个方法是什么意思啊? 下面是我用C写的程序.看看是否可以? /************************************************/ /*接受程序*/ void serial(void) interrupt 4 using 3 { while(1) { while(1) //等待接受呼叫信号 { if(RI) break; else ; } RI=0; if(SBUF==0x06) break; else { SBUF=0x05; //不允许接受 TI=0; } } SBUF=0x00; //允许接受 while(1) { if(RI) break; else ; } total_t=SBUF; RI=0; j=1; while(1) //开始接受数据了 { while(1) { if(RI) break; else ; } RI=0; re_t=SBUF; re_data();//(一个通过SWITCH构成的子程序)根据J的不同来确定把接受到的数据放在不同的地方 j++; if(j==7) break; } //数据发送完 } /***********************************************************/ /*接受程序*/ void txaddr(void) { while(1) { SBUF=0x06; //发送呼叫信号0x06 while(1) //等待发送完信号. { if(TI) break; else ; } TI=0; while(1) //等待回答信号 { if(RI) break; else ; } RI=0; if(SBUF==0x00) //判断回答信号,否则重新发送 break; else ; } i=1; while(1) //开始发送数据 { send_data();//根据I的不同来确定发送的不同的数据 SBUF=send_t while(1) { if(TI) break; else ; } TI=0; i++; if(i==7) break; } } 但是我不知道怎么来确定数据是否发完.时候正确
此帖出自单片机论坛
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

7
 

回复:请问单片机通讯时怎么来确定数据发完了?

请问我上面的发送和接受程序是否正确? 通信协议如下: 采用相同的波特率,双方约定,发送时,先发送一个呼叫信号(0x06) 以询问接受机是否可以接受数据,接受机收到呼叫信号后,若同意接受数据则回 发0x00作为答应信号,表示可以接受数据,否则回发0x05,表示暂不能接受数据 发送机只有在接收到接收机发回的答应信号0x00后才能将数据统一发送到接收机, 否则不断想接收机发送呼叫信号,直到接收到接收机发回的0x00的应答信号. 若接受正确,向发送机回发0x0f信号,表示正确,否则发送0xf0,表示接受到的数据出现了错误. 以上程序还是怎么改变下!
此帖出自单片机论坛
 
 
 

回复

337

帖子

0

TA的资源

裸片初长成(中级)

8
 

回复:请问单片机通讯时怎么来确定数据发完了?

每次发送时,先发一个这次要发送的字节数,最后再发一个累加和之类的简易检验数据,基本上就可以了。
此帖出自单片机论坛
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

9
 

回复:请问单片机通讯时怎么来确定数据发完了?

请问 但是用用T2计算器,用于波特率模式的时候 处理T2CON=0x34;//设置成波特率模式和启动TR2 对于TH2和TL2还有RACP2H和RACP2L改怎么去设置 是不是只需要对RACP2H和RACP2L赋值. 还是也要对TH2和TL2 同样设置!
此帖出自单片机论坛
 
 
 

回复

337

帖子

0

TA的资源

裸片初长成(中级)

10
 

回复:请问单片机通讯时怎么来确定数据发完了?

只需要对RACP2H和RACP2L赋值
此帖出自单片机论坛
 
 
 

回复

16

帖子

0

TA的资源

一粒金砂(中级)

11
 

回复:请问单片机通讯时怎么来确定数据发完了?

没有超时检测,程序很容易陷入死循环,或者数据出错(丢失部分数据)
此帖出自单片机论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

12
 

回复:请问单片机通讯时怎么来确定数据发完了?

可以参考蓝牙的数据传输机制!
此帖出自单片机论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

13
 

回复:请问单片机通讯时怎么来确定数据发完了?

看不懂.............................................:L
此帖出自单片机论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表