stm32 不同外部中断互相影响?

STM32 电子创客营 222次浏览 已收录 0个评论 扫描二维码

stm32 不同外部中断互相影响?

在调试小车车轮的计数,分别用两个外部中断的上升沿来对光栅编码器进行计数。MCU 使用的是stm32F103C8T6。思路很简单,我再用一个定时器1秒处罚一次中断。触发以后我就把两个外部中断的值给打印出来,这样就可以统计出来一秒钟小车车轮的转了多少圈。

但是却遇到一个奇怪的现象,把电路都接好,一个车轮转而另外一个车轮不转。却发现两个外部中断都在计数。首先先看反复检查下程序,确认没有问题。我用3.3v加杜邦线分别取碰触每一路,外部中断都可以单独计数。那么程序问题就可以排除了。那就看测速模块是不是有问题,用示波器分别量两个测速输出,车轮转的一边确实有测速信号输出,而没转的一路则是没有输出。这就能说明硬件也没有问题啊。

可事实是,我从串口打印出来的确实两个外部中断都有计数,莫非两个外部中断有干扰?外部没有思路,只能看芯片内部,突然就想到了电压。stm32的不同IO口耐压是不一样的,有的3.3v ,有的可以到5V。看了datasheet,哼哼,我用的PB0 和PB1是不支持5V电压的,而测试模块输出信号确实高电平为5V。

换了测速模块到3.3v,再测试,OK 了!  所以给stm32 io接5v的时候要查下数据手册看看是否支持5v电平。所以这里还有个思路就是不用PB0和PB1,换两个支持5v的IO口。


转载请注明转自电子创客营:stm32 不同外部中断互相影响?! 了解我们点击这里
喜欢 (1)or分享 (0)
电子创客营
关于作者:
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址