Технически форум > Програмиране

Започваме да се запознаваме с програмирането!

<< < (2/7) > >>

Borislav:
Ясене, много важно разяснение! Благодаря за помощта! :) Много интересна информация. Ще си изтегля програмката, за да видя за какво става въпрос. Мерси още веднъж!

yasko:
Както бях обещал ще се опитам да разкажа как да направим един елементарен проект с AVRStudio и WinAVR.  За целта трябва да имаме инсталирани въпросните 2 програми на комютъра. Линкове за изтегляне на AVRStudio има по-нагоре в темата, а последната версия на WinAVR може да бъде изтеглен от тук.
След като програмите са  инсталирани, стартираме AVRStdio и от менюто "Project" избираме "New Project", след което изскача един диалогов прозорец. Оттам трябва да изберем първо типа на проекта има 2 избора:
"ATMEL AVR Assembler" или "AVR GCC",
тъй като ще правим пример на C избираме "AVR GCC".  След това трябва да дадем име на проекта и да изберем дали да бъде създаден начален файл и директория. От позиция "Location" в диалогови прозорец може да изберем къде да се създаде проекта. Нека за име на проекта да изберем "led1" и да изберем да ни бъде създаден начален файл и директория. Натискаме "Finish" и проекта led1 есъздаден :) Програмата автоматично ни отворя началния файл с име "led1.c" в който може да почнем да пишем нашия код. Преди това обаче трябват да се направят някои други настройки по проекта.
От  меню "Project" избираме "Configuration Options" и се отваря диалогов прозорец за основни настройки по проекта. Повечето от нещата имат стойности по подразбиране, но някои от тях задължително трябва да настроим:
1. Избираме "Device" или типа ма микроконтролера с който ще работим, сегашния пример ще го направим с ATmega8, така че избираме този процесор от падащото меню.
2. Задаваме в полето "Frequency", работната честота, най често това е честота на външния кварц (за това по късно), слагаме 8 000 000 Hz (8MHz)
3.От полето "Optimisations" избираме нивото на оптимизация на компилатора -  за начало избираме ниво "Os" или оптимизация за големина на изпълнимия файл.
С това основните настройки са завършени и може да запчнем работата по писането на програмата.
В следващата тема ще опиша кратка програма, която да накара един светодиод да мига. (затова избрах име на проекта led1 :))

Borislav:
AVRStudio ми изглежда много добра програма! Настройките са лесни за изпълнение, а и интерфейса много ми допада! :) С огромно нетърпение очаквам урока за първата програма с въпросната AVRStudio.. Ясене, моля те, разкажи и дали има някакви тънкости при свързването на Микроконтролера с компютъра.. Браво!

INF1n1t:
Ей момчета - страхотни сте! Как сте го обяснили, та направо ми идва да почна да пиша и аз статии, че ме домързяло от известно време...

yasko:
Време е да продължа с програмата за размигване на светодиода :)
Борислав е качил една примерна програма: my_test
Позволих си да корегирам и тествам някои неща и сега програмата доби следния вид:


--- Код: ---
#include <avr/io.h>
#include <util/delay.h>
#define F_CPU 8000000UL  // 8 MHz

//функция генерираща закъснение в диапазона 1 -65535 ms
void delay_ms(unsigned int ms)
{

while (ms>0){
_delay_ms(1);
ms--;
}

}

   
int main(void)              // начало на основната програма
{
   
 
    DDRD = 0xFF;            // Всички изводи на порта D трябва да се конфигурурат като изходи

    while (1) {              // Безкраен цикъл

          PORTD = 0xFF; // установяваме "1" на всички линии на порта D

  delay_ms(250);   // Чакаме 0.25 сек.

          PORTD = 0x00;  // установяваме "0" на всички линии на порта D

  delay_ms(250);   // Чакаме 0.25 сек.

}       // закриваща скобка на безкрайния цикъл

}      // Закриваща скобка на основната


--- Край на кода ---


Утре ще продължа с коментарите и разясненията по програмата.

Навигация

[0] Списък на темите

[#] Следваща страница

[*] Предходна страница

Премини на пълна версия