Щоб почати новий проект в WinAVR, необхідно виконати наступні

кроки:

1. Створити новий каталог на вашому персональному комп’ютері.

2. У цей каталог скопіювати MAKEFILE будь-якого проекту з цієї книги (наприклад, з глави 1). Досвідчений користувач може написати свій власний MAKEFILE. Шаблон MAKEFILE, наведений у лістингу 1.1, відповідає більшості ваших вимог. Тут вказані ті місця, де вам може знадобитися внести зміни до MAKEFILE. Рядки, що починаються з символу #, вважаються в MAKEFILE коментарями.

Лістинг 1.1

# MCU паші

MCU = ваш мікроконтролер

# Наприклад,

# Назва MCU MCU = attiny861

# Тут компілятору йдеться про те, що потрібно компілювати додаток під мікроконтролер ATtiny861.

# Формат виходу (формат може бути srec, ihex, binary)

FORMAT = ihex (вихідний файл повинен бути шістнадцятковим)

# Назва цільового файлу (без розширення)

TARGET = main (це назва вашого головного файлу)

# Список файлів на мові С (автоматично генеруються залежно мови С)

SRC = $ (TARGET) .з

# (Цей рядок вказує назву вихідного файлу. Команда $ (TARGET) замінюється значенням TARGET (яке дорівнює main). Отже, ваш вихідний файл повинен називатися main.с).

# Якщо вихідних файлів більше одного, то додайте їх вище або приберіть символ коментаря з наступних рядків:

#SRC += abc.c SRC += def.c

Як уже згадувалося раніше, вам часто доведеться розбивати код на декілька файлів. Щоб приєднати додаткові вихідні файли, додайте їх, як показано тут. У попередньому прикладі файл abc.c не приєднуватися (Оскільки рядок src + = abc. З закоментований), a def.c – приєднується. Ви можете створити свої власні вихідні файли і вказати їх тут.

1. Потім створіть порожній текстовий документ і назвіть його main.c (як вказувалося раніше).

2. Змініть MAKEFILE відповідно до ваших потреб.

3. Напишіть свій код у файлі main.c.

4. На вкладці Tools виберіть пункт Make All. Якщо ви побачите код завершення О, то помилок немає і ваш шістнадцятковий файл створений. Якщо ви побачили якийсь інший код завершення, то є помилка і її потрібно усунути. Якщо код завершення дорівнює 0, але ви бачите якісь попередження, то шістнадцятковий файл був створений. Як уже говорилося раніше, постарайтеся по можливості усунути причини цих повідомлень. Іноді попередження під час компіляції призводять до нестабільної роботи проекту.

Мова ANSI С в порівнянні з вбудованим З

ANSI С – це документ, опублікований інститутом American National Standards Institute (ANSI) в якості стандарту мови програмування С. Розробники програмного забезпечення зазвичай слідують цьому стандарту при створенні кодів, які працюють на різних операційних системах. Навіть Денніс Рітчі, творець вихідної мови С, у другому виданні своєї знаменитої книги З Programming Language (Prentice Hall, 1988) привів його до цього стандарту. Коли розробник програмного забезпечення пише мовою С програму для персонального комп’ютера, вона виконується в середовищі операційної системи. Після завершення програми управління процесором передається операційній системі, яка запускає інші (що стоять в черзі) програми. У разі многопроцессорной (або багатопотокової) операційної системи на персональному комп’ютері виконується багато різних програм. Це робиться за допомогою квантування часу, т. Е. Кожної стоїть у черзі програмі надається (по черзі) доступ до процесора, пам’яті та вводу / виводу на деякий проміжок часу (або постійною, або змінної тривалості).

По завершенні програми вона видаляється з черги. Створюється враження одночасного виконання програм, але насправді процесор виконує в кожен момент часу тільки одну послідовність команд (Програму). Цим плануванням займається операційна система, яка постійно підтримує завантаження процесора.

Якщо ж ви пишете код на мові С для мікроконтролера, то на ньому виконується тільки ваша програма, яка повністю управляє його ресурсами. У подібних додатках операційні системи використовуються нечасто. Програма зазвичай працює в нескінченному циклі і не завершується.

Очевидно, що в двох розглянутих випадках сам підхід до програмування повинен певною мірою відрізнятися. Незважаючи на цей факт, деякі основні функції програмування мовою С (типи даних, цикли, оператори управління, функції, масиви і т. п.) аналогічні як в компіляторах ANSI С, так і у вбудованих компіляторах мови С.

Джерело: Гадре, Д., Цікаві проекти на базі мікроконтролерів tinyAVR / Дхананья Гадре, Нігула Мелхотра: Пер. з англ. – СПб .: БХВ-Петербург, 2012. – 352 с .: іл. – (Електроніка)