AVR Compiler
For at kunne få en microcontroller til at fungere, så skal man have skrevet noget kode, som skal oversættes til maskinkode, så så skal brændes ned i microcontrolleren.
Denne oversættelse foretages af en compiler.
C-kode
Da C-koden skal fungere i et specielt miljø, hvor det man har defineret er en række specielle registre i microcontrolleren, så skal man skrive alt fra bunden.
Kort fortalt skal man initialisere de dele af hardwaren og softwaren som man har brug for.
Efter dette skal man ind i et loop, der aldrig slutter (før man tager strømmen).
Mens man er i dette loop kan man udnytte at man bruge interrupts i sin kode, hvilket man så er nødt til at tage højde for i koden.
Editor
Til at skrive C-koden med kan bruge en hvilken som helst tekst-editor. I princippet er Notesblok god nok til det, der er bare ikke nogen hjælp i koden til det.
Notapad++ kan genkende C som generelt sprog, og kan dermed hjælpe med syntaksfarvning, hvilket kan lette kodningen.
Visual Studio vil også kunne anvendes til kodningen, og har code-completion, som kan lette kodningen endnu mere.
Andre editorer vil også kunne anvendes.
WinAVR
Selve compileren og kommunikations-miljøet til brænderen skal downloades og installeres. WinAVR er som navnet antyder kun til Windows. Har man et andet styresystem, så skal der findes en lignende compiler.
Ved SourceForce.net[1] kan man downloade compileren som en .exe-fil, der skal installeres. Man skal lige overtale styresystemet til at den er god nok.
Under installationen er det lettest hvis man lader installations-programmet tilrette styresystemets PATH, så man senere kan finde programmerne direkte.
Installationen giver også adgang til at kommunikere med Arduinoen, der er programmeret til at være ISP-programmer.
Selve compileringen
For at oversætte C-koden til maskinkode skal man aktivere compileren via command-line (cmd).
Det er lettest at gøre ved hjælp af et AVR-batch, der angiver hvilken microcontroller det er og hvilke parametre der skal oversættes med samt hvilken fil der skal oversættes.
ATTiny24A kode-eksempel
I denne ZIP-fil ligger der et eksempel på en kode (blink) der løber igennem alle 11 generelle IO-ben og blinker med dem i 100 ms. Koden er placeret i underbiblioteket "blink 24/src"
Selve kompileringen sker ved at aktivere build-batch-jobbet (igen skal man lige overbevise styresystemet om at det ikke er en farlig ting).
ATTiny45 kode-eksempel
I denne ZIP-fil ligger der et eksempel på en kode (blink) der løber igennem alle 5 generelle IO-ben og blinker med dem i 100 ms. Koden er placeret i underbiblioteket "blink 45/src"
Selve kompileringen sker ved at aktivere build-batch-jobbet (igen skal man lige overbevise styresystemet om at det ikke er en farlig ting).
Referencer