/* modbus 主机实现*/ #include #include "crc.h" // 读取保持寄存器的值 // addr 寄存器地址 // id 丛机地址 // length 读取丛机数据长度 int modbus_m_read_regist(uint8_t id,uint16_t addr,uint16_t length,uint8_t * data) { uint16_t index = 0,crc; data[index++] = id; data[index++] = 0x03; data[index++] = (addr >> 8) & 0x00FF; data[index++] = addr & 0x00FF; data[index++] = (length >> 8) & 0x00FF; data[index++] = length & 0x00FF; crc = MX_CRC_CALC(data,index); data[index++] = crc & 0x00FF; data[index++] = (crc >> 8) & 0x00FF; return index; } //// 解析通过03 命令读取回来额寄存器数据 //int modbus_m_read_regist_ack(uint) //{ // //}