Як зробити новий проект avr-gcc у AVR Studio 4, avr, programming

Тут описано процес кроків для створення проекту на основі вільного компілятораAVR GCC.

1. ЗапустітьAVR Studio, у стартовому візарді натисніть велику кнопку New Project, виберіть AVR GCC, введіть ім'я проекту (Project name:, виберіть ім'я проекту так, щоб було зрозуміло, що за проект), виберіть папку для розміщення проекту (Location:), натисніть кнопку Next.

2. Виберіть платформу для налагодження (Debug platform:), тип мікроконтролера (Device:), натисніть кнопку Finish.

3. Введіть текст програми до головного C-файлу проекту (його ім'я збігається з назвою, яку Ви дали проекту), щось типу:

4. Якщо Ви бажаєте, щоб автоматично підхоплювалися оператори include "ім'я_файлу.h", то ви повинні вказати всі папки, де потрібно шукати ці include-файли, в налаштуваннях проекту - меню Project -> Configuration Options -> натисніть кнопку зліва "Include Directories", натисніть New (Insert), вкажіть шлях до папки (можна скористатися кнопкою браузингу . ).

6. Якщо у файлах, що включаються, оголошуються функції, визначені в інших C-файлах, то ці C-файли потрібно додати в Source Files, щоб вони теж компілювалися.

7. Тип процесора (наприклад, ATMega16) вказується у меню Project -> Configuration Options -> кнопка General -> список Device: atmega16. При цьому в залежності від вибору компілятора передається інформація від типу процесора за допомогою опції -mmcu = тип_мікроконтролера (у нашому прикладі - mmcu = atmega16). Символьна інформація про імена регістрів (яка своя для кожного типу процесора) забезпечується файлом-селектором avr/io.h, який, виходячи з типу процесора, завантажує потрібний include-файл. У прикладі завантажиться файл avr/iom16.h, причому цей файл безпосередньо (безavr/io.h) включати не можна.

9. Генерація блокуючих затримок може бути здійснена за допомогою функцій, визначених у заголовку delay.h.

Для коректної роботи підпрограм затримки повинна бути виставлена ​​тактова частота мікроконтролера у властивостях проекту (Project - Configuration Options - кнопка General - вказуємо у вікні введення Frequency: частоту в герцах). При цьому компілятору передається опція -DF_CPU=тактова_в_герцахUL, вона створює макровизначення F_CPU, що використовується при генерації затримки.

10. Використання inline-інструкцій асемблера:

11. Робота з таймеромWatchDog (WDT ):

12. Перевірка біт (на прикладі біта ADSC регістру ADCSRA):

У свіжих версіях gcc (WINAVR ) функція bit_is_clear може бути відсутні [1]. Використовуйте замість неї таку конструкцію:

Виклик функції bit_is_set(ADCSRA, ADSC) може бути замінений на (ADCSRA & (1

13. В AVR GCC вбудована підтримка бітових констант, що досить зручно:

Однак захоплюватися бітовими константами не раджу, тому що при портуванні коду на інші компілятори та платформи виникнуть проблеми.