自制串口模拟 ModBus 通信程序,格式采用 LRC,帧采用 7N2
来源:缪崯森的日志
注 : 是 通讯的默认格式:一个起始位() 个数据位两个停止位
()
而 的默认串口通信数据格式是:一个起始位()一个停止位
(), 串行通信是从数据的低位开始传递的
因而用 模拟 的 通信格式,可将发送到串口的 都与 相与使
其最高位为 、模拟出第二个停止位
注 :由于 范围为 全部为正数,应该用无符号字符型,使其最高位不显
示其符号属性
注 :本设备发帧采用 位数据帧即,()设备码()功能码()两 位数
据()()()
设备号:
功能号:读转速当前值(以 ! 为单位)读 当前值
操作步进电机
不读转速当前()读 当前值
数据:数据 为转速数据范围 (单位 !)
数据 为扭矩数据范围
:可由 "#$%函数生成
:即 &、
头文件
'()*+#,-#./01
'()*+#,2(/01调用 3-()24 串口打印库函数
宏定义
'#5)# *06- )(.)# *06-
'#5)# ()2 )(.)# ()2
'#5)# 789 定义 数据帧的长度
定义全局变量
*06- #*#(:#;789<= 定义接收缓冲,用来接收上位机发的 帧
*06- #);789<>?@@A=定义发送缓冲,用来向上位机发
数据帧
*06- B()2= 定义接收数据个数的指示
*06- "C6.=标记串口收满一帧
(2 2#2>BD=
(2 2#2>BD=
描述:串口初始化程序
功能:初始化串口