Як зробити новий проект 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 вбудована підтримка бітових констант, що досить зручно:
Однак захоплюватися бітовими константами не раджу, тому що при портуванні коду на інші компілятори та платформи виникнуть проблеми.