'Pelco-D Protocol Message Public function Pelco_D_Message(ByVal action1 as byte,ByVal action2 as byte,ByVal panspeed as byte,ByVal titlespeed as byte) as String dim ltData() as Byte redim ltData(0 to 6) ltData(0)=Synch 'en décimal ltData(1)=AddrD 'en décimal ltData(2)=action1 ltData(3)=action2 ltData(4)=panspeed ltData(5)=titlespeed ltData(6)=CalcChkSum(ltData,1,5) Dim lStr as string lStr="0x" For i=lbound(ltData) To UBound(ltData) lstr=lstr & right$("0" & hex$(ltData(i)),2) Next i Pelco_D_Message=lStr End function Private function CalcChkSum(ptData() as byte,Byval pOffset as long, byval pLength as long) as byte dim lChk as long dim i as long lChk=0 For i=pOffset to pOffset+pLength-1 lChk=(lChk+ptData(i))Mod 256 Next i CalcChkSum=lChk end function
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question//Pelco-D Protocol Message function Pelco_D_Message(action1, action2, panspeed, titlespeed) { var checksum = parseInt(AddrD,16)+parseInt(action1,16)+parseInt(action2,16)+parseInt(panspeed,16)+parseInt(titlespeed,16); while (checksum > 0xff) { checksum = checksum-0xff; } if (checksum <= 0xf) { checksum = "0" + checksum.toString(16); } return "0x" + Synch + AddrD + action1 + action2 + panspeed + titlespeed + checksum.toString(16); }