我对AVR和微控制器编程非常陌生。我不太明白定时器/计数器中的一些概念。我在今天阅读时发现了这个问题:
从KHz (PB1)引脚产生一个占空比为30 %的有源高1 PB1数字波形。使用轮询方法检查输出比较操作的成功与否。时钟的频率是16 MHz。
所提出的解决办法是:
解决方案:将预分频器设置为8,则时钟信号到TCNT的周期为0.5USEC。信号高、低的时钟周期数分别为600和1400。
我真的不明白为什么将标量设置为8会使时钟信号的周期为0.5USEC?谁能给我解释一下这里的数学吗?那么,考虑到这一点,为什么时钟周期的数目是600和1400?这些数字是从哪里来的?
我认为我不理解解决方案与不理解预标度器的确切概念有关。我的理解是,如果时钟频率是16 MHz,如果预分频器是8,那么输出频率是2 MHz。如果我错了,请纠正我。非常感谢!
发布于 2015-03-23 05:27:04
是的,你是对的。在16 2MHz上,8的预标量将频率降低到2 2MHz。每个滴答将是1/2,000,000秒或0.5 us。
问题要求1千赫周期,30%和70%关闭。1/1 1kHz为1毫秒或1000毫秒或2000秒。其中30%是600条蜱,其余70%是1400条蜱。
https://stackoverflow.com/questions/29203639
复制相似问题