下位機ARM stm32若程序是自己開發,需要程序中定義上述modbus協議的4種地址的數據區,再把4種地址數據區與ARM stm32的IO口建立映射關系,如:
DI口數據===(MOV、COPY指令)===>1xxxx數據區,
AI口數據===(MOV、COPY指令)===>3xxxx數據區,
0xxxx數據區===(MOV、COPY指令)===>DO口,
4xxxx數據區===(MOV、COPY指令)===>AO口。
這4種地址的數據,需在主程序中實時、動態地刷新。
當然,需要在通信子程序中實現modbus協議的事務操作,即接收到modbus的數據幀後,根據功能碼及地址,相應地處理modbus協議的4種地址區的數據。