embeded/Cortex-M7 STM
modbus rtu coil read
구차니
2024. 10. 10. 12:38
modbus poll 에서 뜬금없이 crc error로 띄워서 헤맸는데
03이나 04 명령어 처럼 multiple byte의 경우에는 아래의 형태로 구성되는데
station_id / cmd / length / data(word) / crc
01의 경우는 아래의 형태로 고정된다.
station_id / cmd / length / data(byte) / crc
그러다 보니 modbud poll 에서도 고정된 length에서 하드코딩될수 밖에 없고
0x01 0x01 0x02 0x00 0x00 L_CRC M_CRC 로 응답하면
CRC 부분을 보고 읽는게 아니라
0x00 L_CRC 두개를 CRC로 해석하니 mismatch로 잘못 에러를 출력한다.
어우.. 별거 아닌데 하루를 날리게 하다니..