我知道这很傻但我真的很困惑。
我想在Atmega16上制作3种模式的PWM脉冲: 1- 1Khz,占空比100% 2- 4Khz,占空比100% 占空比为50%的3- 1Khz
我离开AVR差不多2年了,我忘记了一切,所以我只需要以简单的方式计算定时器1。 我读过的任何东西都让我更加困惑。有什么东西可以帮助我吗? 我正在使用Codevision AVR。
答案 0 :(得分:3)
1-1Khz,占空比100%
2 - 4Khz,占空比100%
是一回事。根本没有实际的PWM。输出一直很高,频率无关紧要。
3- 1Khz,占空比50%
实际上是PWM。有几种类型可供选择,但如果占空比准确地达到50%,那么通过切换可以轻松实现这一目标。从手册中,
通过将OC1A设置为在每次比较匹配(COM1A1:0 = 1)时切换其逻辑电平,可以实现快速PWM模式下的频率(具有50%占空比)波形输出。这仅适用于OCR1A用于定义TOP值(WGM13:0 = 15)。
即,将TCCR1A的COM1A1和COM1A0位设置为01
,并将TCCR1A和TCCR1B的所有WGM位设置为1
。选择OCR1A和TCCR1B的CSx预分频位,以便每0.5 ms达到一次OCR1A。
答案 1 :(得分:0)
我做到了这一点,但我参加了考试,所以发帖太长了。 我将Fcpu设置为4MHz
这是代码:
UIImage *bgImage = [UIImage imageNamed:@"bg_navigationbar"];
[self.navigationController.navigationBar setBackgroundImage:bgImage forBarMetrics:UIBarMetricsDefault];