微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决当 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 举报,一经查实,本站将立刻删除。