Lucify 发表于 2006-10-1 05:03:54

[求助]串口的BCC校验码如何设置?

通讯测试程序要求仪表按如下方式设置: standard 标准通讯协议通讯地址:01 通讯波特率:1200 通讯格式:7E1 (7位数据位, 偶校验) 通讯控制码:@_:_CR BCC 块校验方式:XOR 要求接算机的串口:COM1 别的都好解决,就是通讯控制码和BCC块校验方式不知道在哪里可以设置啊,希望高手指点一下。典型在运行的时候老是出现串口配置错误的提示,快郁闷死了!
[此贴子已经被作者于2006-9-30 21:05:03编辑过]

cpubbs 发表于 2006-10-3 07:12:39

<p>这一个校验码没有做过,不过我查到一点资料:</p><p>用二进制BCC块校验方式。校验码的产生是将引导符STX后到BCC效验符<br/>前的全部数据(含EXT)二进制数求和后得到的单字节码。<br/>例如: STX + "D1" + ETX + BCC<br/>(02H) (44H)(31H) (03H) (78H)<br/>二进制求和 44H+31H+03H=78H (8bits)<br/>转成ASCⅡ码 78H&amp;7FH=78H (7bits) (屏蔽字节第8位)<br/>注:"D1"是读测量值和设定值的命令</p>

cpubbs 发表于 2006-10-3 07:13:28

BASICA BCC块效验程序例,其中CMD$为读/写文件,例如:CMD$="D1"<br/>550 CMD$="D1"<br/>560 CMD$=CMD$+ETX$:LEC=LEN(CMD$):BCC=0<br/>570 FOR I=1 TO LEC:S$=MID$(CMD$,I,1)<br/>580 BCC=BCC+ASC(S$)<br/>590 NEXT<br/>600 BCC=BCC MOD 128:REM 屏蔽字节第8位<br/>610 BCC$=CHR$(BCC):REM BCC块校验的ASC码<br/>620 TXD$=STX$+CMD$+BCC$:REM 生成发送读写命令的全文件<br/>630 RETURN

cpubbs 发表于 2006-10-3 07:14:11

<p>这里有一点相关的介绍,至于更详细的我还没有找到,不知道兄弟你有没有学过BASIC,我看不太懂!</p><p><a href="http://www.lindianweiye.com/downloads/SR50-t.pdf">http://www.lindianweiye.com/downloads/SR50-t.pdf</a></p>

Lucify 发表于 2006-10-2 16:32:53

<p>没有人回复吗??</p><p>郁闷!~</p>
页: [1]
查看完整版本: [求助]串口的BCC校验码如何设置?