Главная Tuesday, October 03 2023  
ГлавнаяКонтактыАдминистрированиеПрограммированиеСсылки
UK-flag-ico.png English Version
GERMAN-flag-ico.png Die deutsche Version
лента новостей сайта microsin.ru лента новостей
map.gif карта сайта
нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Поделиться:
Кто он-лайн
Сейчас на сайте:
Гостей - 1
Модуль рекламы
Поисковые системы

AVR Studio + avr-gcc: как в Makefile задавать и препроцессором проверять тактовую частоту Версия для печати
Написал microsin   
12.02.2010

Обычно это делается через макроопределение F_CPU, в котором задается тактовая частота в герцах.

Это макроопределение передается компилятору через опцию -D, например:
CFLAGS += -Wall -gdwarf-2 -DF_CPU=16000000UL -fsigned-char

В этом примере частота задана 16 МГц. В исходных текстах можно препроцессором проверять тактовую частоту, и в зависимости от этого формировать нужный код. Например:

//константа для TCNT0
#if F_CPU == 16000000
    #define TCNT0_10MS (256-156)        // 100 раз в секунду
    #define TCNT0_1MS  (256-16)         // 1000 в секунду
#elif FCPU == 11059200
    #define TCNT0_10MS (256-108)        // 100 раз в секунду
    #define TCNT0_1MS  (256-11)         // 1000 в секунду
#elif FCPU == 14745600
    #define TCNT0_10MS (256-144)        // 100 раз в секунду
    #define TCNT0_1MS  (256-14)         // 1000 в секунду
#elif FCPU == 18432000
    #define TCNT0_10MS (256-180)        // 100 раз в секунду
    #define TCNT0_1MS  (256-18)         // 1000 в секунду
#else
    #error "Unsupported F_CPU value!"
#endif

 

Добавить комментарий

:D:lol::-);-)8):-|:-*:oops::sad::cry::o:-?:-x:eek::zzz:P:roll::sigh:

Защитный код
Обновить

< Пред.   След. >

Top of Page
 
microsin © 2023