OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6911|回复: 3

51单片机串口和上位机通信协议的接收函数怎么写

[复制链接]

26

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
174
金钱
174
注册时间
2013-12-22
在线时间
3 小时
发表于 2015-5-25 16:22:24 | 显示全部楼层 |阅读模式
5金钱
    现在我的51单片机的功能已经做好了,但是要上位机那边控制我的单片机工作,因为我以前没做过和上位机通信,现在单片机和上位机的通讯协议如下,现在发送数据包函数很容易写,但是接收一串数据包的函数不懂怎么写,有谁能指导下我怎么写接收上位机的数据包的函数啊

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165353
金钱
165353
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-5-25 17:12:11 | 显示全部楼层
回复

使用道具 举报

0

主题

16

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2015-2-12
在线时间
0 小时
发表于 2015-5-26 08:15:21 | 显示全部楼层
这个其实不是很难,给楼主提供下大概思路。因为你的一次有效数据为4位,所以就定义一个包含四个元素的数组,然后在串口中断中判断接收完成标志,成功则清零标志,把接收到的数始终放在数组的字一个元素里,然后判断这个值是不是起始值0x80,如果是则i累加,使后面的数存在数组后面的元素里。收到四个数,则标志接收正常,置位一个标志位,然后在主函数里判断这个标志位,就可以解析数据,做相应动作了。仅供楼主参考。
不做浮躁的嵌入式攻城狮。。。。
回复

使用道具 举报

52

主题

142

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
441
金钱
441
注册时间
2013-10-17
在线时间
23 小时
发表于 2015-5-26 09:24:55 | 显示全部楼层
为何校验还要取反呢
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-26 23:07

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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