Skip to content

opcode-eu-org-website/AVR-examples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AVR-examples

Repozytorium zawiera przykładowe kody demonstrujące użycie podstawowych peryferiów w mikrokontrolerze typu AVR.

Mikrokontrolery AVR

Jest to rodzina 8-bitowych mikrokontrolerów RISC, które mogą być programowane z wykorzystaniem języka C z pomocą odpowiedniej wersji gcc i biblioteki avr-libc.

Prezentowane kody dedykowane są dla mikrokontrolera ATmega328, będą działać poprawnie także na wielu innych układach, jednak w niektórych wypadkach konieczna może być zmiana nazw niektórych z rejestrów. Na przykład dla ATmega8:

#define USART_RX_vect USART_RXC_vect
#define UDR0          UDR
#define UBRR0L        UBRRL
#define UBRR0H        UBRRH
#define UCSR0B        UCSRB
#define UCSR0A        UCSRA
#define TXEN0         TXEN
#define RXEN0         RXEN
#define RXCIE0        RXCIE
#define UDRE0         UDRE

Kompilacja i programowanie mikrontrolera

Kompilację kodów dla ATmega328 oraz wgranie ich do mikrokontrolera można wykonać przy pomocy następujących poleceń:

# kompilacja
avr-gcc -mmcu=atmega328p -Os -o avrdemo.o $INPUT_FILE

# konwersja do formatu hex obsługiwanego przez programatory
avr-objcopy -O ihex avrdemo.o avrdemo.hex

# zapis (i weryfikacja) pamięci flash (programator ISP na usb zgodny z usbasp):
sudo avrdude -c usbasp -p atmega328p -U flash:w:avrdemo.hex

# alternatywnie - zapis (i weryfikacja) pamięci flash
# (wgrany w programowanym układzie bootloader z komunikacją UART zgodny z arduino):
sudo avrdude -q -V -p atmega328p -C /usr/share/arduino/hardware/tools/avrdude.conf -D \
             -c arduino -b 57600 -P /dev/ttyUSB0 -U flash:w:avrdemo.hex:i

Przykłady

obsługa GPIO

obsługa portu szeregowego

obsługa przetwornika analogo-cyfrowego

obsługa I2C

  • master – w tym trybie mikrokontroler zarządza magistralą - generuje sygnał zegara, wybiera układ z którym chce się komunikować oraz tryb tej komunikacji (zapis czy odczyt)
  • slave – w tym trybie mikrokontroler czeka na zainicjowanie komunikacji przez mastera i postępuje zgodnie z otrzymanymi od niego instrukcjami

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages