当 timer2 工作在相位校正 PWM 模式设置 OCR2A 和 OCR2B时,是否可以将 OC2A 引脚用于其他目的作为输入或输出

问题描述

我将使用 atmega1284p MCU Timer/counter2 生成 25Khz 占空比可调的 PWM 信号 .

所以我要做的是选择一个合适的预分频器 ( = 8 ) 并设置 OCR2A=40OCR2B = 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 (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...