用结构化文本实现的MODBUS CRC计算
2010/10/10 10:19:00
这是用ST语言写的MODBUS CRC程序
(*initialize array*)
CRCHi[0]:=BYTE#16#00; CRCLo[0]:=BYTE#16#00;
CRCHi[1]:=BYTE#16#C1; CRCLo[1]:=BYTE#16#C0;
CRCHi[2]:=BYTE#16#81; CRCLo[2]:=BYTE#16#C1;
CRCHi[3]:=BYTE#16#40; CRCLo[3]:=BYTE#16#01;
CRCHi[4]:=BYTE#16#01; CRCLo[4]:=BYTE#16#C3;
CRCHi[5]:=BYTE#16#C0; CRCLo[5]:=BYTE#16#03;
CRCHi[6]:=BYTE#16#80; CRCLo[6]:=BYTE#16#02;
CRCHi[7]:=BYTE#16#41; CRCLo[7]:=BYTE#16#C2;
CRCHi[8]:=BYTE#16#01; CRCLo[8]:=BYTE#16#C6;
CRCHi[9]:=BYTE#16#C0; CRCLo[9]:=BYTE#16#06;
CRCHi[10]:=BYTE#16#80; CRCLo[10]:=BYTE#16#07;
CRCHi[11]:=BYTE#16#41; CRCLo[11]:=BYTE#16#C7;
CRCHi[12]:=BYTE#16#00; CRCLo[12]:=BYTE#16#05;
CRCHi[13]:=BYTE#16#C1; CRCLo[13]:=BYTE#16#C5;
CRCHi[14]:=BYTE#16#81; CRCLo[14]:=BYTE#16#C4;
CRCHi[15]:=BYTE#16#40; CRCLo[15]:=BYTE#16#04;
CRCHi[16]:=BYTE#16#01; CRCLo[16]:=BYTE#16#CC;
CRCHi[17]:=BYTE#16#C0; CRCLo[17]:=BYTE#16#0C;
CRCHi[18]:=BYTE#16#80; CRCLo[18]:=BYTE#16#0D;
CRCHi[19]:=BYTE#16#41; CRCLo[19]:=BYTE#16#CD;
CRCHi[20]:=BYTE#16#00; CRCLo[20]:=BYTE#16#0F;
CRCHi[21]:=BYTE#16#C1; CRCLo[21]:=BYTE#16#CF;
CRCHi[22]:=BYTE#16#81; CRCLo[22]:=BYTE#16#CE;
CRCHi[23]:=BYTE#16#40; CRCLo[23]:=BYTE#16#0E;
CRCHi[24]:=BYTE#16#00; CRCLo[24]:=BYTE#16#0A;
CRCHi[25]:=BYTE#16#C1; CRCLo[25]:=BYTE#16#CA;
CRCHi[26]:=BYTE#16#81; CRCLo[26]:=BYTE#16#CB;
CRCHi[27]:=BYTE#16#40; CRCLo[27]:=BYTE#16#0B;
CRCHi[28]:=BYTE#16#01; CRCLo[28]:=BYTE#16#C9;
CRCHi[29]:=BYTE#16#C0; CRCLo[29]:=BYTE#16#09;
CRCHi[30]:=BYTE#16#80; CRCLo[30]:=BYTE#16#08;
CRCHi[31]:=BYTE#16#41; CRCLo[31]:=BYTE#16#C8;
CRCHi[32]:=BYTE#16#01; CRCLo[32]:=BYTE#16#D8;
CRCHi[33]:=BYTE#16#C0; CRCLo[33]:=BYTE#16#18;
CRCHi[34]:=BYTE#16#80; CRCLo[34]:=BYTE#16#19;
CRCHi[35]:=BYTE#16#41; CRCLo[35]:=BYTE#16#D9;
CRCHi[36]:=BYTE#16#00; CRCLo[36]:=BYTE#16#1B;
CRCHi[37]:=BYTE#16#C1; CRCLo[37]:=BYTE#16#DB;
CRCHi[38]:=BYTE#16#81; CRCLo[38]:=BYTE#16#DA;
CRCHi[39]:=BYTE#16#40; CRCLo[39]:=BYTE#16#1A;
CRCHi[40]:=BYTE#16#00; CRCLo[40]:=BYTE#16#1E;
CRCHi[41]:=BYTE#16#C1; CRCLo[41]:=BYTE#16#DE;
CRCHi[42]:=BYTE#16#81; CRCLo[42]:=BYTE#16#DF;
CRCHi[43]:=BYTE#16#40; CRCLo[43]:=BYTE#16#1F;
CRCHi[44]:=BYTE#16#01; CRCLo[44]:=BYTE#16#DD;
CRCHi[45]:=BYTE#16#C0; CRCLo[45]:=BYTE#16#1D;
CRCHi[46]:=BYTE#16#80; CRCLo[46]:=BYTE#16#1C;
CRCHi[47]:=BYTE#16#41; CRCLo[47]:=BYTE#16#DC;
CRCHi[48]:=BYTE#16#00; CRCLo[48]:=BYTE#16#14;
CRCHi[49]:=BYTE#16#C1; CRCLo[49]:=BYTE#16#D4;
CRCHi[50]:=BYTE#16#81; CRCLo[50]:=BYTE#16#D5;
CRCHi[51]:=BYTE#16#40; CRCLo[51]:=BYTE#16#15;
CRCHi[52]:=BYTE#16#01; CRCLo[52]:=BYTE#16#D7;
CRCHi[53]:=BYTE#16#C0; CRCLo[53]:=BYTE#16#17;
CRCHi[54]:=BYTE#16#80; CRCLo[54]:=BYTE#16#16;
CRCHi[55]:=BYTE#16#41; CRCLo[55]:=BYTE#16#D6;
CRCHi[56]:=BYTE#16#01; CRCLo[56]:=BYTE#16#D2;
CRCHi[57]:=BYTE#16#C0; CRCLo[57]:=BYTE#16#12;
CRCHi[58]:=BYTE#16#80; CRCLo[58]:=BYTE#16#13;
CRCHi[59]:=BYTE#16#41; CRCLo[59]:=BYTE#16#D3;
CRCHi[60]:=BYTE#16#00; CRCLo[60]:=BYTE#16#11;
CRCHi[61]:=BYTE#16#C1; CRCLo[61]:=BYTE#16#D1;
CRCHi[62]:=BYTE#16#81; CRCLo[62]:=BYTE#16#D0;
CRCHi[63]:=BYTE#16#40; CRCLo[63]:=BYTE#16#10;
CRCHi[64]:=BYTE#16#01; CRCLo[64]:=BYTE#16#F0;
CRCHi[65]:=BYTE#16#C0; CRCLo[65]:=BYTE#16#30;
CRCHi[66]:=BYTE#16#80; CRCLo[66]:=BYTE#16#31;
CRCHi[67]:=BYTE#16#41; CRCLo[67]:=BYTE#16#F1;
CRCHi[68]:=BYTE#16#00; CRCLo[68]:=BYTE#16#33;
CRCHi[69]:=BYTE#16#C1; CRCLo[69]:=BYTE#16#F3;
CRCHi[70]:=BYTE#16#81; CRCLo[70]:=BYTE#16#F2;
CRCHi[71]:=BYTE#16#40; CRCLo[71]:=BYTE#16#32;
CRCHi[72]:=BYTE#16#00; CRCLo[72]:=BYTE#16#36;
CRCHi[73]:=BYTE#16#C1; CRCLo[73]:=BYTE#16#F6;
CRCHi[74]:=BYTE#16#81; CRCLo[74]:=BYTE#16#F7;
CRCHi[75]:=BYTE#16#40; CRCLo[75]:=BYTE#16#37;
CRCHi[76]:=BYTE#16#01; CRCLo[76]:=BYTE#16#F5;
CRCHi[77]:=BYTE#16#C0; CRCLo[77]:=BYTE#16#35;
CRCHi[78]:=BYTE#16#80; CRCLo[78]:=BYTE#16#34;
CRCHi[79]:=BYTE#16#41; CRCLo[79]:=BYTE#16#F4;
CRCHi[80]:=BYTE#16#00; CRCLo[80]:=BYTE#16#3C;
CRCHi[81]:=BYTE#16#C1; CRCLo[81]:=BYTE#16#FC;
CRCHi[82]:=BYTE#16#81; CRCLo[82]:=BYTE#16#FD;
CRCHi[83]:=BYTE#16#40; CRCLo[83]:=BYTE#16#3D;
CRCHi[84]:=BYTE#16#01; CRCLo[84]:=BYTE#16#FF;
CRCHi[85]:=BYTE#16#C0; CRCLo[85]:=BYTE#16#3F;
CRCHi[86]:=BYTE#16#80; CRCLo[86]:=BYTE#16#3E;
CRCHi[87]:=BYTE#16#41; CRCLo[87]:=BYTE#16#FE;
CRCHi[88]:=BYTE#16#01; CRCLo[88]:=BYTE#16#FA;
CRCHi[89]:=BYTE#16#C0; CRCLo[89]:=BYTE#16#3A;
CRCHi[90]:=BYTE#16#80; CRCLo[90]:=BYTE#16#3B;
CRCHi[91]:=BYTE#16#41; CRCLo[91]:=BYTE#16#FB;
CRCHi[92]:=BYTE#16#00; CRCLo[92]:=BYTE#16#39;
CRCHi[93]:=BYTE
提交
查看更多评论
其他资讯
腾控低功耗可编程控制器正式发布
基于腾控PLC的扎啤桶清洗机的设计
易控微网STC-105微型RTU(带热电阻、AI、DI、DO)用户手册
stc-102微型 RTU用户手册(V1.0)
腾控产品进军西班牙市场