Первая программа

Простейшая программа на языке Си имеет вид:

Функция main() — точка входа в программу, а return — точка её выхода. Такая программа ничего не делает, только возвращает 0 туда, откуда она была вызвана (в операционной системе, традиция идет из UNIX). Более того, нас явно не удовлетворит тот факт, что программа в принципе завершит свою работу, ведь запустить её ещё раз можно только отключив и включим питание. Как же выйти из ситуации?

На самом деле, простейшая программа для МК имеет немного другой вид.

Заменив строчку return 0; на бесконечный цикл, мы заставим крутиться программу до скончания электронов в электросети... Программа будет выполняться постоянно и повторять код, заключенный в скобках while. Это называют главным циклом (или суперциклом) программы. Всю инициализацию периферии нужно провести до входа программы в суперцикл, т.к. настроить её нужно всего один раз (в большинстве случаев).

Мы уже говорили про исключительные ситуации. Если программа начнет делать что-то не совсем корректное, например, станет писать какие-нибудь данные в область памяти программы, — произойдет ошибка, и программа из главного цикла улетит в одну из аварийных функций (обработчиков прерываний), например, в HardFault_Handler(). Аварийные функции, как правило, принимают следующий вид:

При отладке приложения можно сразу найти последствие — устройство зависнет. Дальше нужно будет найти причину.


Назад | Оглавление | Дальше