[STM32F1] CAN,电机控制,中断

[复制链接]
1440|8
 楼主| 牧心 发表于 2016-3-24 22:12 | 显示全部楼层 |阅读模式
小弟基于stm32通过CAN总线控制多个直流电机,通过不断给电机发速度指令(速度序列已经有了),让电机位置拟合某条直线,目前速度指令发送周期为100ms,在中断中发送,而我又想采集电机位置信号为下一时刻速度做修正,该怎么做才好?采集信号的指令应该放在哪里比较合适?
huangcunxiake 发表于 2016-3-25 11:19 | 显示全部楼层
也在中断里实现啊,你应该是用的定时器中断吧,同样发送完数据就采集。或者通过IO中断也行。
 楼主| 牧心 发表于 2016-3-25 11:21 | 显示全部楼层
huangcunxiake 发表于 2016-3-25 11:19
也在中断里实现啊,你应该是用的定时器中断吧,同样发送完数据就采集。或者通过IO中断也行。 ...

一下子发送了那么多电机的查询指令,虽然驱动器有返回指令,但会在FIFO中溢出,最终接收到的只有三条指令吧
huangcunxiake 发表于 2016-3-25 11:27 | 显示全部楼层
牧心 发表于 2016-3-25 11:21
一下子发送了那么多电机的查询指令,虽然驱动器有返回指令,但会在FIFO中溢出,最终接收到的只有三条指令 ...

应该不会溢出吧。怎么可能只接收3条就完了呢。
 楼主| 牧心 发表于 2016-3-25 11:37 | 显示全部楼层
huangcunxiake 发表于 2016-3-25 11:27
应该不会溢出吧。怎么可能只接收3条就完了呢。

邮箱深度不是三级吗,中断中发送二十多个电机取位置指令,返回来那么多位置报文,但没有及时读取,就溢出了,最后去读的时候只剩下三条了
huangcunxiake 发表于 2016-3-25 11:44 | 显示全部楼层
牧心 发表于 2016-3-25 11:37
邮箱深度不是三级吗,中断中发送二十多个电机取位置指令,返回来那么多位置报文,但没有及时读取,就溢出 ...

好吧,这个没用过,不是很了解,等高手来看看有没有用过这种。
icefox225 发表于 2016-3-25 21:46 来自手机 | 显示全部楼层
中断发20多条,为什么要这么做
wang1216 发表于 2016-3-27 22:25 | 显示全部楼层
100ms太慢,10ms差不多
FireRiver9 发表于 2016-3-28 11:50 | 显示全部楼层
定时器中断不能实现吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部