问题描述
我将使用 atmega1284p MCU Timer/counter2 生成 25Khz 占空比可调的 PWM 信号 .
所以我要做的是选择一个合适的预分频器 ( = 8 ) 并设置 OCR2A=40 和 OCR2B = byte(OCR2A x Duty_cycle/100)
所以我的问题是,我可以将 OC2A 引脚用作其他用途的输入或输出引脚吗(打开/关闭 LED 或与频率或定时器 2 无关的东西)。
(通常在 COR2A 中断时它还会产生另一个 PWM 信号(12.5Kz))
谢谢。
这里我附上了一个示例代码
TCCR2B = 0x08; // 0000 1000,Disable Timer Clock
TCCR2A = 0x61; // 0110 0001 (01-Toggle OC2A on Compare Match)
//(10- Clear OC2B on Compare Match when up-counting. Set OC2B on Compare Match when down-counting.
//(00 - Read only),(01 - PWM Phase correct,Top =OCR2A)
OCR2A = 40-0; // Count 40 steps
OCR2B = (byte) (OCR2A * 0.50); // 50% duty cycle
TCNT2=0x0;
pinMode(9,OUTPUT); // OC2b
TCCR2B |= 2; // Prescale=8,Enable Timer Clock
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)