Сообщение от OlegNZH
|
Во-первых- начинать с чего-то нужно
|
Ну да, и лучше всего - с начала. Разобраться с таймером, прерываниями. Дальше написать СВОЙ драйвер знакосинтезирующего LCD или динамической индикации на светодиодном индикаторе. Затем можно и для 18В20 написать библиотечку. Займет это несколько больше времени, но и результат будет намного лучше. Например работа с 1-Wire не будет приводить к мерцанию светодиодного индикатора, LCD можно будет подключить к выводам микроконтроллера в произвольном порядке и т.д. Кроме того дальше, при подключении тех девайсов, на которые нет библиотек в составе компилятора, дело пойдет куда быстрее. Опыт и знания, приобретенные в процессе этих первых шагов уже будут работать на Вас. И вместо непонятных #include ‹incl›,( кстати почему этот incl подключается из места, где лежат системные библиотеки? Это такая ценная часть исходника? ) получится что то типа:
Код:
|
static inline void delay_one_takt(void) __attribute__((always_inline));
void delay_one_takt(void)
{
asm volatile("nop");
}
int main(void)
{
....
delay_one_takt(); // вместо #include ‹incl›
delay_one_takt();
...
} |
Или так:
Код:
|
#define DELAY_ONE_TAKT() asm volatile("nop")
int main(void)
{
....
DELAY_ONE_TAKT(); // вместо #include ‹incl›
DELAY_ONE_TAKT();
...
} |
Как бы намного понятнее что за конструкция применена. По #include ‹incl› этого не скажешь.