
51单片机使用Modbus_RTU协议。
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
void presetSingleRegister(void) //设置单个寄存器
{
U8 addr;
U8 tempAddr;
U8 setCount;
U16 crcData;
U16 tempData;
//addr = (receBuf[2]<<8) + receBuf[3]; //tempAddr = addr & 0xfff; addr = receBuf[3]; tempAddr = addr; //& 0xff
addr = receBuf[3];
tempAddr = addr;
// tempData = ( receBuf[4]<<8 ) + receBuf[5];
tempData = (receBuf[4] << 8) + receBuf[5];
setRegisterVal(tempAddr, tempData);
sendBuf[0] = localAddr;
sendBuf[1] = 6;
sendBuf[2] = addr >> 8;
sendBuf[3] = addr & 0xff;
sendBuf[4] = receBuf[4];
sendBuf[5] = receBuf[5];
setCount = 6; //共6个字节
crcData = crc16(sendBuf, 6);
sendBuf[6] = crcData >> 8;
sendBuf[7] = crcData & 0xff;
sendCount = 8;
beginSend(); //设置多个寄存器 void presetMultipleRegisters(void){ UINT8 addr; UINT8 tempAddr; UINT8 byteCount; UINT8 setCount; UINT16 crcData; UINT16 tempData; UINT8 i; //addr = (receBuf[2]<<8) + receBuf[3]; //tempAddr = addr & 0xfff; addr = receBuf[3]; tempAddr = addr & 0xff;//setCount =(receBuf [4]<<8)+recebuf [5]; setCount= receivebuf [5]; byteCount= receivebuf [6]; for (i=0 ; i
全部评论 (0)


