外部中断中读取IO状态的问题

2019-08-14 04:47发布

想用F103来读取编码器的脉冲数并且同时读取正反转信息,使用的IO为PE8接A相为外部中断读取脉冲个数,PE7为另外一个相只读取电平状态判断正反转。但是很奇怪,如果设置上升沿触发,则正转读取是正常的,反转的时候上升一下,然后又降下来,一直这样循环。如果设置下降沿触发,反转读取的又是正常的,正转跟前面一样。。。。在网上找了正交解码的例子,正反转都可以正常读取,很是疑惑。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
xlong_06
1楼-- · 2019-08-14 08:52
建议你用定时器1的编码器解码来做,那个会可靠得多!
huanghan
2楼-- · 2019-08-14 11:46
本帖最后由 huanghan 于 2017-8-28 19:12 编辑

这样做也可以,关键要看你选的编码器的时序和你所写的符合不。我也这样做过,现在产品上还用,没出过问题。
mHarvey
3楼-- · 2019-08-14 13:58
 精彩回答 2  元偷偷看……
mHarvey
4楼-- · 2019-08-14 18:59
xlong_06 发表于 2017-8-28 17:56
建议你用定时器1的编码器解码来做,那个会可靠得多!

用正交解码试过,这样是可以的。。但是按道理在IO中断里读取另一个IO的电平也是可取的吧
xlong_06
5楼-- · 2019-08-14 23:33
mHarvey 发表于 2017-8-29 12:31
用正交解码试过,这样是可以的。。但是按道理在IO中断里读取另一个IO的电平也是可取的吧

IO也是可以的,看你的算法怎么做了,只是如果你程序大的话,容易被别的东西干扰,F103里面那个应该是有硬件解码的。
liuliuliu
6楼-- · 2019-08-15 01:22
xlong_06 发表于 2017-8-28 17:56
建议你用定时器1的编码器解码来做,那个会可靠得多!

楼上正解

一周热门 更多>