232串口通讯协议
本文件说明了上位机向下位机发送数据的基本格式:
1.串口设置为:
a.波特率:9600
b.数据位:8位
c.奇偶校验:无
d.停止位:1位。
2. 信息类型及其相应开头﹑结束标志:
一条打印信息由信息头,信息内容,和结束标志组成。
A.信息头(用于制定打印本信息所采用的字型)。
485 信息头#0A (A为我们的设备的固定地址)
上位机下传:
1)ctrl A (字型为上行8*8 单行小字)0D,0A ctrl A对应十六进制代码11h 41h(或0x11 0x 41 c 语言),以下类似
2)ctrl B (字型为下行8*8 单行小字)0D,0A ctrl B对应十六进制代码11h 42h
3)ctrl C (字型为16*16 信息<=30个字符)0D,0A ctrl C对应十六进制代码11h 43h
4)ctrl D 参数(高字节在前,低字节在后,64 个参数)0D,0A
ctrl D对应十六进制代码11h 44h
5)ctrl E 0D,0A 打印功能
ctrl E对应十六进制代码11h 45h
6)ctrl F 0D,0A 停止打印
7)PUG 0D 0A清洗功能。
8)ctrl H 0D,0A 检查下位机连接状态。
9)ctrl I 0D,0A 备用
10)ctrl J 0D,0A 备用
下发时在前面加相应的485头,#0X(X为1,2,3,4,5,6,7,8代表485总线上的机器号)
下位机相应的返回:(接收到上位机的命令之后)
1)ctrl 1 0D,0A 准备就绪
2)ctrl 2 0D,0A 打印完毕发送下一条
3)ctrl 3 显示内容0D,0A 备用(内容16进制表示)4)ctrl 4 0D,0A 打印命令的回复
5)ctrl 5 0D,0A 下位机上电时发送命令
6)ctrl 6 0D,0A 下位机接收到打印内容回复。
7)ctrl 7 0D,0A 停止打印回复
8)ctrl 8 0D,0A 清洗回复
上发时在前面加相应的485头,#0X(X为1,2,3,4,5,6,7,8代表485总线上的机器号)
B. 信息内容
1.为要打印内容每个字符的ASC编码。
2.8x8时不多于60 个字符,16x16时不多于30 个字符。
3.例如要打印ABCD,应为:“41424344”(41 是A,42
是B,43是C,44是D)
C. 结束标志统一为0
D.0A.
D.增加清洗命令#0A PUG 0D 0A 如下:
23 30 41 50 55 47 0D 0A
设备收到此命令,马上喷射5-10列,清空喷嘴。
在每次发完数据,打印头开始移动以前,发此命令,清洁一下喷嘴,有利于保持打印质量。
刚开机时,连续执行操作5-10次,有助于去除积墨。
3. 相应例程:
1)如只在上行打印ABCD,对应的数据如下:
#0A 1141414243440D0A
#0A 是485 头
1141 是文件头,ctrl A ,
41424344(是ABCD的ASC编码)
0D0A 是结束符
2)如只在下行打印1234,对应的数据如下:
#0A11 42 31 32 33 340D 0A (十六进制红色部分为内容)
3)如打印16*16的ABCD,对应数据如下:
#0A11 43 41 42 43 440D 0A (十六进制红色部分为内容)
4)如上行打印ABCD,下行打印1234,对应数据如下:
#0A11 41 41 42 43 44 11 42 31 32 33 340D 0A
1.上行打印ABCD格式为:
#01 114141424344 0D0A 即:2330311141414243440D0A
#01头
1141 是 CTRL-A
1 是一号设备 2号发2
41424344 是ABCD 的ACSI码
0D0A 是结束标志
2.按设备1 的“打印”按钮,下发:#01 ctrl E 0D 0A
即:23303111450D0A
#01头233031
1145 ctrl E
0D0A 是结束标志
3.按设备1 的“停止”按钮,下发::#01 ctrl F 0D 0A
即:23303111460D0A
#01头233031 1146 ctrl F0D0A 是结束标志
串口调试工具测试下位机:
设备1
下载信息:上行ABCD
2330311141414243440D0A
返回:23 30 01 11 36 0D 0A
打印:
23303111450D0A
返回:23 30 01 11 34 0D 0A
停止打印:
23303111460D0A
返回:23 30 01 11 37 0D 0A
查询下位机状态:
23303111480D0A
返回:23 30 01 11 31 0D 0A
清洗:
2330315055470D0A
无返回
23 30 01 11 38 0D 0A (后来协议增加)
设备2
下载信息:上行abcd
2330321141414243440D0A
返回:23 30 02 11 36 0D 0A
打印:
23303211450D0A
返回:23 30 02 11 34 0D 0A
停止打印:
23303211460D0A
返回:23 30 02 11 37 0D 0A
查询下位机状态: