zht9961020 发表于 2008-11-8 22:48:21

请feng_matrix帮忙【恢复】

您的电调程序



#ifdef  _16KHZ 

 #define PWM_C_ON  {TCCR1A = 0xA2; TCCR2  = 0x41; DDRB = 0x0A;} 

 #define PWM_B_ON  {TCCR1A = 0xA2; TCCR2  = 0x41; DDRB = 0x0C;}

 #define PWM_A_ON  {TCCR1A = 0xA2; TCCR2  = 0x61; DDRB = 0x08;}

 #define PWM_OFF   {TCCR1A = 0x02; TCCR2  = 0x41;PORTC &= ~0x0E;}

#endif 

#define  STEUER_A_H {PWM_A_ON}

#define  STEUER_B_H {PWM_B_ON}

#define  STEUER_C_H {PWM_C_ON}  

当只执行 STEUER_A_H ;时,应该只有A相输出pwm信号,但是用示波器测量发现其他两相也有输出pwm,什么原因呢?

feng_matrix 发表于 2008-11-10 09:05:50

可以先断开三个BC817,然后再测试M8三路PWM输出是否正确

zht9961020 发表于 2008-11-11 00:01:20

断开也是那样

#define PWM_C_ON  {TCCR1A = 0xA2; TCCR2  = 0x41; DDRB = 0x0A;}  // DDRB为什么不写成DDRB=0x02?? TCCR1A不写为TCC1A=0x08

 #define PWM_B_ON  {TCCR1A = 0xA2; TCCR2  = 0x41; DDRB = 0x0C;} // DDRB为什么不写成DDRB=0x04?? TCCR1A不写为TCC1A=0x02

 #define PWM_A_ON  {TCCR1A = 0xA2; TCCR2  = 0x61; DDRB = 0x08;} 

 #define PWM_OFF   {TCCR1A = 0x02; TCCR2  = 0x41;PORTC &= ~0x0E;} 
页: [1]
查看完整版本: 请feng_matrix帮忙【恢复】