stm32 移植freemodbus成功了,是参照着坛子里的移植方法,在从机执行动作的这一块,是通过查询某个数组里值来判断动作了
比如说,输入寄存器吧,usRegInputBuf[0],这个里面如果是1 就让灯点亮,如果是0 灯就灭,通过轮询的方式来检查usRegInputBuf里面的值,
上位机只管读和写,modbus协议在单片机里面就自己传上去了,在数据传输上基本都是自动的。而我也只好通过查询输入寄存器里面值的变化来做处理
有没有更好的处理方式?
还有一个比较头疼的问题,就是外部flash里的数据,我能自己读写,在modbus里面我怎么才能然主机可以知道我flash里的值,难道说我把值放到自己定义的寄存器数组里面吗,让主机自己去读就是了?
外部flash比stm32内部还大,而且是存一些历史数据,基本会存满,自己去读flash,然后把值放进数组里面,感觉这样很被动。
有没有更好的处理方式?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
地址只有2个64K*16位,可读写字和只读字。
只能自己做翻页处理了,一次只映射一部分。
一周热门 更多>