ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
27 ноября
1186164 Топик полностью
Nikolay_Po (11.03.2022 10:05, просмотров: 264) ответил Argon на Правда?!
Да. В заголовочных файлах определения типов, объявления структур. Если надо - то определения значений параметров, например, #define TurnOnThreshold 53 

Затем, уже при объявлении переменной, в файле *.c, подстановкой, ей присваивается значение, определённое в заголовочном файле.

А вот определения переменных - только в *.c. По идее (не готов защищать саму идею, но принял её ранее), в заголовочных файлах не должно быть ничего, приводящего к выделению памяти, как программной, так и данных. Допустимо, в заголовочном например:


//Trigger output is active low (current sinc). Hi-Z when incactive.

#define TriggerOn() do{DDRD|=(1<<DDD2);PORTB|=1<<PORTB5;}while(0)

#define TriggerOff() do{DDRD&=~(1<<DDD2);PORTB&=~(1<<PORTB5);}while(0)


Это не приводит к выделению памяти программ, так как является всего лишь подстановкой.