mega2560无法同时输出两路PWM信号是为什么?

2020-03-101.2万
AI 快速预览详细 收起
本文讨论了在使用mega2560时无法同时输出两路PWM信号的问题。作者发现,当单独输出任何一路PWM信号时是正常的,但同时输出两路时就没有输出。经过测试,作者发现包含舵机库并实例化一个舵机对象(Servo servo_2;)后,问题得以解决。这个解决方案对于需要多个IO口的小车项目非常有用,特别是使用TB6612驱动和电机控制的情况。
想请问一下各位老师,我在使用mega2560为什么无法同时输出两路PWM信号?但是单独输出任何一路是正常的,但只要放在一起同时输出两路就都没有任何输出。
mega2560无法同时输出两路PWM信号是为什么?图1
我是要做一个小车,由于功能比较多所需要IO也比较多,第一路方向是10,PWM信号是5,第二路方向控制是7,PWM输出是6,用TB6612驱动,测试没问题,单独一路正反转,调速都正常。只要两路写在一起就完蛋,两个马达一个都不转。

但是后来我测试无意中发现,包含舵机库,并且实例化一个舵机对象就能工作了,不知道怎么回事?有懂得老师麻烦解答一下呗。

#include<Servo.h>
Servo servo_2;

实例化舵机就正常了。

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
gada888
gada888
arduino不支持多任务,除非加多任务库
润贝机器人
润贝机器人
作者
回复gada888
那为什么UNO可以同时输出两路PWM信号?到mega2560这就变成多任务了?麻烦您详细说说,我是真费解
润贝机器人
润贝机器人
作者
回复gada888

共3条回复,已加载2条,点击查看更多共3条回复,已加载全部
- 没有更多了 -