读卡器项目总结(六)— 上位机通信协议
2016-02-08 18:42
211 查看
本次项目,嵌入式设备读取卡片信息后,需要按照实际情况,将卡片信息正确返回到PC上位机软件中利用。
在制定该上位机通信协议的过程中,为了适应性更强,一共修改了四次。
主要协议内容:(仅上传格式,不提供具体调用命令内容)
一、波特率:115200 BIT/S
二、字长:10 位(启始位:1 数据位:8 停止位:1 )
三、调用格式
格式:起始符 + 数据长度 + 命令 + 数据 + 异或校验
起始符:一个字节十六制数:0xA7
数据长度:一个字节十六制数,为命令字+数据体的总长度
命令:一个字节十六制数
异或校验:一个字节十六制数,从起始符开始到 DATA 的最后一个字节为止的异或值
四、返回格式
格式:起始符 + 数据长度 + 返回标志 + 命令 + 数据 + 异或校验
起始符:一个字节十六制数:0xA7
数据长度:一个字节十六制数,为返回标志加命令字再加数据体的总长度
返回标志:一个字节十六制数,0:成功标志;1:失败标志;2:异或校验失败
命令:一个字节十六制数
异或校验:一个字节十六制数,从起始符开始到 DATA 的最后一个字节为止的异或值
在此,在规范的通信协议的时候,需要注意协议的通用性,否则可能会出现增删命令对软件程序产生较大影响。
在制定该上位机通信协议的过程中,为了适应性更强,一共修改了四次。
主要协议内容:(仅上传格式,不提供具体调用命令内容)
一、波特率:115200 BIT/S
二、字长:10 位(启始位:1 数据位:8 停止位:1 )
三、调用格式
格式:起始符 + 数据长度 + 命令 + 数据 + 异或校验
起始符:一个字节十六制数:0xA7
数据长度:一个字节十六制数,为命令字+数据体的总长度
命令:一个字节十六制数
异或校验:一个字节十六制数,从起始符开始到 DATA 的最后一个字节为止的异或值
四、返回格式
格式:起始符 + 数据长度 + 返回标志 + 命令 + 数据 + 异或校验
起始符:一个字节十六制数:0xA7
数据长度:一个字节十六制数,为返回标志加命令字再加数据体的总长度
返回标志:一个字节十六制数,0:成功标志;1:失败标志;2:异或校验失败
命令:一个字节十六制数
异或校验:一个字节十六制数,从起始符开始到 DATA 的最后一个字节为止的异或值
在此,在规范的通信协议的时候,需要注意协议的通用性,否则可能会出现增删命令对软件程序产生较大影响。
相关文章推荐
- [剑指offer-1367]二叉搜索树的后序遍历序列
- STL algorithm算法is_permutation(27)
- 如何使用java中的数组
- Theano学习笔记(二)——逻辑回归函数解析
- QT之深入理解QThread
- Qt读取ANSI格式文件——利用QTextCodec将其他编码格式的QByteArray转换为Unicode格式,或者从文件中读出后直接做转换
- 25. Reverse Nodes in k-Group
- 如何为无法获取进度百分比的耗时操作增加“伪进度条”?
- 腾讯云代理查询方法渠道查询方法自己是谁的代理客户
- Activity之间动画的切换
- 在Qt中如何使用QtDesigner创建的UI文件
- 面向对象开发设计 (1)
- 中介者模式
- QMessageBox 中的 OK 按钮改为中文“确定”
- linux 进程间通信 FIFO
- 使用MVVM构建一个简单的WPF应用
- 人的提升不是直线上升的,也不是一直弧线上升的(人之所以有文明就是因为不断的学习和积累好的东西)
- Python Requests爬虫——获取一个收藏夹下所有答案的图片
- QT显示机制(7篇相关文章)
- alertDialog示例