w7_c.pdf
(
91 KB
)
Pobierz
Programowanie mikrokontrolerów - w j¦zyku C
Programowaniemikrokontrolerów
w j¦zyku C
Marcin Engel Marcin Peczarski
InstytutInformatykiUniwersytetuWarszawskiego
7 listopada 2010
7a/1
Elementarz
I
Jak zwykle, trzeba wł¡czy¢ pliki nagłówkowe.
I
Najpotrzebniejsze definicje s¡ w
#include<avr/io.h>
I
Funkcja
main
jest bezargumentowa i nie ko«czy działania.
I
Najprostsza funkcja
main
:
intmain(void){
for(;;);
}
7a/2
Manipulowaniebitamiwrejestrachwej±cia-wyj±cia
I
Skonfigurowanie wyprowadzenia PA0 jako wyj±cie:
DDRA|=1<<PA0;
I
Ustawienie stanu wysokiego na wyprowadzeniu PA0:
PORTA|=1<<PA0;
I
Ustawienie stanu niskiego na wyprowadzeniu PA0:
PORTA&=~(1<<PA0);
7a/3
Opó¹nieniaprogramowe
I
Aby móc ich u»ywa¢, trzeba zdefiniowa¢ cz¦stotliwo±¢
taktowania:
#defineF_CPU8000000UL/*8MHz*/
I
Nast¦pnie nale»y wł¡czy¢ plik nagłówkowy, kolejno±¢ jest
istotna!
#include<util/delay.h>
I
Teraz łatwo ju» mo»na uzyska¢ potrzebne opó¹nienie:
_delay_ms(500);
I
P¦tle opó¹niaj¡ce s¡ dobrze skalibrowane tylko przy wł¡czonej
optymalizacji!
I
Wł¡czenie optymalizacji:
Project
!
GCC / WinAVR flags
!
Optimization
!
Level 2.
7a/4
Całypierwszyprogram
#defineF_CPU8000000UL/*8MHz*/
#include<avr/io.h>
#include<util/delay.h>
intmain(void){
DDRA|=1<<PA0;
for(;;){
PORTA|=1<<PA0;
_delay_ms(500);
PORTA&=~(1<<PA0);
_delay_ms(500);
}
}
7a/5
Plik z chomika:
uniwel
Inne pliki z tego folderu:
w11_i2c.pdf
(264 KB)
w10_rs232.pdf
(111 KB)
w12_misc.pdf
(139 KB)
w13_mem.pdf
(119 KB)
w15_faz.pdf
(133 KB)
Inne foldery tego chomika:
ADC TESTING - Dokumenty Google_files
ATtiny2313 AT90S2313 _rozne
Dokumentacja PDF mikrokontrolerów AVR
EvB4.3
Mikrokontrolery
Zgłoś jeśli
naruszono regulamin