freemodbus怎么绑定stm32的某个引脚?

发表在 Modbus2019-11-17 17:33 [复制链接] 4 164

目前在用freemodbus做stm32上的从机,研究了下freemodbus读线圈状态之类的函数,那怎么绑定呢,例如PA0的状态改变能反应到freemodbus下的线圈0???. M; U. z: m5 k1 b: o/ x
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2019-11-17 23:04:41 | 显示全部楼层
我来解释一下吧。假设楼主的所使用的是MODBUS主站,PA1绑定了一个按键,这个按键有2个状态 开(1)和关(0),用来控制从站的一个LED
. h) I+ D% s: o$ h7 r" cmodbus的第一个寄存器 modbus_reg[0],用来保存按键状态 。$ S# o1 n  i* t) _$ i4 v
这个时候 楼主的按键状态为1。那么你把modbus_reg[0] = 0x00 01;然后把这个数据发送给从站。* c4 L/ T5 }8 n7 b2 Y
从站就可以判断: J3 E- }% u3 m9 E
  1. if(modbus_reg[0])
    7 m7 \7 b) P& V; Q# a
  2. {
    / U% E! C# |- x% T
  3.     rt_pin_wrire(PA1,1);9 F- _5 }& q1 f/ l
  4. }
    4 n0 t+ Z& D- u4 ^8 W6 C
  5. else2 s* U. P( w/ A9 p' _
  6. {
    ) C' k  P2 Q1 d: o4 }7 F
  7.     rt_pin_wrire(PA1,0);  O9 {" w( I8 z! U8 P, y; k
  8. }
复制代码
0 H/ t0 L+ J0 l
使用道具 举报 回复
发表于 2019-11-18 16:22:59 | 显示全部楼层
whj467467222 发表于 2019-11-17 23:04
3 |. ?4 Z" Z- e我来解释一下吧。假设楼主的所使用的是MODBUS主站,PA1绑定了一个按键,这个按键有2个状态 开(1)和关(0 ...
' S) O- m* Z( Z& |
做的从站,那是要单独开线程进行处理还是要改写某些函数,就是在哪里插入类似的代码呢,看了下应该要自己再定义一些数组,但是数组的改变要怎么通知其他函数呢,不断的轮询对比数组数据?
使用道具 举报 回复
发表于 2019-11-19 10:51:02 | 显示全部楼层
现在有两个疑问,①freemodbus的功能码是否可以按自己需求进行修改?②主站对从站发布指令后,从站作出响应,从站检测到对应寄存器数值改变是用事件触发方式还是什么样的方式来通知相应引脚动作?是否要修改用到的回调函数以满足自己的功能需求,还是另外再构建函数或者线程来达到对硬件的控制的目的?
使用道具 举报 回复
发表于 2019-11-27 15:32:00 | 显示全部楼层
whj467467222 发表于 2019-11-17 23:048 l; n7 U0 @+ Y0 f1 X
我来解释一下吧。假设楼主的所使用的是MODBUS主站,PA1绑定了一个按键,这个按键有2个状态 开(1)和关(0 ...
$ Y; Q- e2 J" Q2 z( E- R3 Z2 `
前辈能帮忙看看我的帖子吗  https://www.rt-thread.org/qa/thread-422710-1-1.html
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|RT-Thread开发者社区 ( 沪ICP备13014002号-1

有害信息举报电话:021-31165890 手机:18930558079

© 2006-2019 上海睿赛德电子科技有限公司

Powered by RT-Thread

快速回复 返回顶部 返回列表