Canfestival协议移植到STM32,NMT、PDO、EMCY、SDO等各个功能都运行正常。
我现在使用一个主机带15个从机,主机每2秒发送一次SYNC同步报文,15个从机收到主机发送的SYNC报文后,用PDO方式把各自采集的电压数据传给主机,
也就说,主机每发一次SYNC,就会收到15个电压数据,这个自然没问题,目前运行良好。。。。。。。
但是,我现在想换个方式。。。。。我不想主机发SYNC来触发从机发送电压数据,我想从机自己定时触发自动给主机发送电压数据。
CANOPEN资料文档里介绍:PDO传输类型有event timer; inhibit timer; change of state; respond to SYNC等,我想让从机定时触发,是不是该用Event timer方式来触发??
我在Canfestival字典里尝试更改Event timer参数值,但貌似不起作用。。。。
不知哪位有这方面的经验,请指点一二。。。。。
下面截图代码,具体我该如何设置和操作?谢谢!
2_3839_15.jpg (152.68 KB, 下载次数: 0)
下载附件
2016-11-25 22:27 上传
已经加了群。。。。谢谢!
但是那个事件触发还没搞明白。。。。。什么样的事件怎么样触发??
Event_Timer = 毫秒
如果这样设置:
Transmission_Type =255;
Event_Timer = 100;
我有点想不明白:Transmission_Type =255就是值改变了触发PDO发送,Event_Timer = 100就是每隔100MS发送一次??
感觉有点矛盾,究竟是值改变了触发,还是定时100MS触发??如果再设置一个抑制时间inhibit timer,感觉就乱了。。。。。
一周热门 更多>