欢迎来到天天文库
浏览记录
ID:43325394
大小:70.50 KB
页数:4页
时间:2019-09-30
《PM2.5传感器Modbusrtu通讯协议》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、PM2.5传感器Modbusrtu通讯协议-、标准modbus协议说明1、串口设置波特率9600,无校验,数据位8,停止位1。力能通讯命令16进制:00030000000185DB(不清楚设备地址可用此找冋)2、接口说明请接入GND(地电源负极),TX(模组串口发对应串口线收),RX(模组串口收对应串口线发)对应接口。调试不通请交换串口线再试。4、CRC16校验计算函数(请确认单片机人端编程还是小端)返回shortint参数data【】数组、Ion数组长度例子:datax[8]={01,03,00,00,00,01,00,00}16进制unsigne
2、dshortintx=CRC_16(datax,6);得到x=0x840a;sixxlx/吓、XT%ZJXIunsignedshortintCRC_16(unsignedchar*data,intlen)unsignedchar*buf;unsignedshortint*CRC;unsignedshortintcrch,crcl;shortinti;shortintj;charerr;buf=&data[len];CRC=(unsignedshortint*)buf;buf[0]=0xff;buf[l]=0xff;for(i=0;i3、buf[0]=buf[0]"data[i];for(j=0;j<8;j++)!err=buf[0]&l;*CRC=*CRC/2;if(err)*CRO*CRCfOxaOO1;}}crch=*CRC>>8;crcl=*CRC«8;*CRC=crch+crcl;return(*CRC);/******************函数CRC_16()*********小端返回shortint参数data【】数组、len数组长度例子:datax[8]={01,03,00,00,00,01,00,00}16进制unsignedshortintx=CRC_16(dat4、ax,6);得到X二0x840a;unsignedshortintCRC_16(unsignedchar*data,intlen){unsignedchar*buf;unsignedshortint*CRC;unsignedshortintcrch,crcl;ucharp;ucharj;charerr;buf=&data[len];CRC=(unsignedshortint*)buf;buf[0]=0xff;//lsbbuf[l]=0xff;//msbfor(p=0;p5、j++)err=buf[1]&1;*CRC二*CRC/2;if(err)*CRC二*CRCPxaOOl;}crch=*CRC»8;crcl=*CRC«8;*CRC二crch+cr、cl;return(*CRC);}
3、buf[0]=buf[0]"data[i];for(j=0;j<8;j++)!err=buf[0]&l;*CRC=*CRC/2;if(err)*CRO*CRCfOxaOO1;}}crch=*CRC>>8;crcl=*CRC«8;*CRC=crch+crcl;return(*CRC);/******************函数CRC_16()*********小端返回shortint参数data【】数组、len数组长度例子:datax[8]={01,03,00,00,00,01,00,00}16进制unsignedshortintx=CRC_16(dat
4、ax,6);得到X二0x840a;unsignedshortintCRC_16(unsignedchar*data,intlen){unsignedchar*buf;unsignedshortint*CRC;unsignedshortintcrch,crcl;ucharp;ucharj;charerr;buf=&data[len];CRC=(unsignedshortint*)buf;buf[0]=0xff;//lsbbuf[l]=0xff;//msbfor(p=0;p5、j++)err=buf[1]&1;*CRC二*CRC/2;if(err)*CRC二*CRCPxaOOl;}crch=*CRC»8;crcl=*CRC«8;*CRC二crch+cr、cl;return(*CRC);}
5、j++)err=buf[1]&1;*CRC二*CRC/2;if(err)*CRC二*CRCPxaOOl;}crch=*CRC»8;crcl=*CRC«8;*CRC二crch+cr、cl;return(*CRC);}
此文档下载收益归作者所有