• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

如何用单片机中断函数控制舵机

雪狼 2019-12-06 浏览量:1100
怎么用中断函数使得当蜂鸣器响起或超声波所测的距离小于某个值时舵机停止转动,直到条件不成立舵机恢复继续转动
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答 数量:7
  • 理论上直接在测距后判断是否需要转动就可以了,不需要通过中断控制舵机

    我猜测可能你用定时中断模拟pwm控制舵机,如果这样的话只要测量后判断开启过停止定时中断就可以了

  • 舵机的控制使用的是pwm一般都使用定时器来生成PWM波形,这个与中断没有关系

  • 我想,这个处理可能用不到中断

    你的舵机PWM可能是有定时器处理的

    你只需要检查到条件时去 断开定时器对该输出接口的输出

    达到恢复条件时 去恢复该输出接口即可

    实际上就是在相应的处理流程中插入 对应的 处理调用(这些调用不一定需要中断来触发),

    比如你有 startPWM()  和 stopPWM() 的调用分别打开输出和停止输出

    你完全可用把它们用在任何地方,而不仅仅是在中断处理中(当然,对应的处理需要是支持无状态的,即无论以往状态是什么,调用它都会使得之后状态符合要求),其实中断处理的具体过程中也是可以调用这两个函数来完成相应动作的。


  • 中断函数并没的控制舵机的功能,不知道你使用的是那一个中断,舵机控制可以使用PWM来驱动,使用定时器中断,但驱动也并不一定要使用中断

  • 这种写个状态位就行,在中断中状态位改变,知道某个条件不成立,将状态位恢复就行

  • 比较简单的方式就是检测对应的距离,然后通过距离的数值来驱动中断,实现舵机的控制输出

  • 你可以直接在中断函数里面的输出PWM控制舵机,当检测到位置超过值之后再停止运行

相关问题

问题达人换一批

如何用单片机中断函数控制舵机