问题描述
使用 Atmega328p 提供的 8 位 PWM 引脚 能否用于双向旋转伺服电机?如果是或否,在 Atmega328p 中执行此操作的代码是什么?
void PWM() {
//SET_BIT(DDRD,PD6); // PD6 (OC0A pin ) as output
TCCR0A |= ((1 << WGM01) | (1 << WGM00));
TCCR0A |= (1 << COM0A1);
TCCR0A &= ~(1 << COM0A0);
TCCR0A |= (1 << COM0B1);
TCCR0A &= ~(1 << COM0B0);
TCNT0 = 0x00; // Timer counter register
OCR0A = 50;
OCR0B = 60;
TCCR0B |= ((1 << CS00) | (1 << CS02)); // Clock selection 101
TCCR0B &= ~(1 << CS01); //101
sei(); // Global interrupt
while (1) //super loop
{
//_delay_ms(10000);
//TCCR0B=0x00;
}
}
上面的代码将电机旋转 90 度并停止旋转。怎么让电机双向旋转?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)