粗粗看了一眼从百度上找到的DLT645协议(2007),发现有个问题,就是协议里面规定每个byte都要有一个起始位(为0),一个停止位(为1)和一个偶校验
我对起始位的问题进行了搜索,发现有cp34X的起始位是固定为1的,这不是矛盾了么,怎么破?
关键问题还在于,我在网上搜到一篇论文,发表于2010年的《冶金动力》,人家就是用cp341实现了DLT645协议的电表通讯
-------------------------------------------------------------------------------------------------------------------------------------------
112:关于CP34x串行通讯中的起始位、数据位、校验位、停止位的说明?
CP34x通讯模板与其他设备进行通讯时,串口传输的是一个10位或11位的数据帧,在模块的Parameters属性窗口中您可以设置数据帧的格式,对这个10或11位组成的数据帧的组成遵循以下规则:
帧的第一位必须是起始位,始终为1,不能修改;
起始位之后是7-8位数据位,由用户收发的数据组成;
数据位之后是校验位,odd奇校验,even偶校验,any不校验但校验位为0,none无校验位;
校验位之后是停止位,可以设为1-2个位,始终为1,不能修改;