Przyszedł czas na zbudowanie pierwszego trywialnego układu i napisanie programu. Układ jest banalnie prosty i jego głównym działaniem jest miganie diodami. Wiem, że to troszkę głupie ale od czegoś trzeba zacząć. Zaopatrzony w programator USBASP oraz środowisko programistyczne Eclipse Mars.1 z Atmel Toolchains mogłem bez problemu oprogramować AVR. Przydatnym jest też program mkvAVR Calculator.
Program wgrany do mikrokontrolera:
#include <avr/io.h> #include <util/delay.h> //definicja LED1 (do którego pinu podłączony LED1) #define LED1 PB0 //definicja LED2 (do którego pinu podłączony LED2) #define LED2 PB1 void main(void) { //########### I/O ########### DDRB|= (1<<LED1) | (1<<LED2); //Ustawienie pinów sterujących diodami //jako wyjścia PORTB |= (1<<LED1); //stan pinu LED1 wysoki +5V - dioda LED1 nie świeci się PORTB |= (1<<LED2); //stan pinu LED2 wysoki +5V - dioda LED2 świeci się while (1) //Pętla główna { PORTB ^=(1<<LED1); //suma modulo 2 (XOR) stanu poprzedniego na porcie //pinu LED1 (zmiana stanu na przeciwny) PORTB ^=(1<<LED2); //suma modulo 2 (XOR) stanu poprzedniego na porcie //pinu LED2 (zmiana stanu na przeciwny) _delay_ms(500); //opóźnienie 1000ms czyli 1s } }
Brak komentarzy:
Prześlij komentarz