用于双向伺服的 Atmega328p 8 位 PWM?

问题描述

使用 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 (将#修改为@)