【问题标题】:AVR Samplecode Explanation pleaseAVR 示例代码解释请
【发布时间】:2013-01-07 08:58:36
【问题描述】:

来自

http://www.electronicsplanet.ch/mikrocontroller/source-code/ATMega16/ATmega16-ADC-Interrupt.htm

我尝试初始化mega16的AD。它有效,但是行

ADCSRA |= (1<<ADEN)|(1<<ADPS2)    // Enable ADC, set prescaler to 16
         |(1<<ADIE);              // Fadc=Fcpu/prescaler=1000000/16=62.5kHz
                                  // Fadc should be between 50kHz and 200kHz
                                  // Enable ADC conversion complete interrupt

我不清楚。 1000000是从哪里来的,又是什么意思?

谢谢!

【问题讨论】:

    标签: avr atmel


    【解决方案1】:

    预分频器是指如何对主时钟进行分频,为 ADC 提供时钟。 ADC 的时钟由主时钟提供,带有一个可选的预分频器。在示例中,1000000 表示微控制器的主时钟频率为 1 MHz。如果预分频器设置为 16,则 ADC 的频率将为 1000000/16 = 62.5kHz。

    当然,如果你的主时钟不同,你必须为ADC计算自己的频率。

    【讨论】:

      【解决方案2】:

      1000000 Hz 是设备运行的时钟频率。

      默认情况下,mega's 将运行在带有 clk/8 熔丝的内部 8 MHz RC 振荡器上,默认频率为 8MHz/8 = 1MHz

      因此您看到 FCPU 为 1000000。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-14
        • 1970-01-01
        • 2011-05-21
        • 1970-01-01
        • 2015-07-13
        相关资源
        最近更新 更多