Iar beágyazott munkaállomás

Idővel mindig úgy tűnik, hogy a szomszéd fű zöldebb.

Iar beágyazott munkaállomás

Úgy értem, a fordító meredekebb, egyszerűbb, kényelmesebb és optimálisabb.

Kezdjük az IAR Embedded Workbench IDE-vel az AVR-vel - nézzük meg, hogyan kell elindítani a projektet.

Megfontoljuk a C nyelvet - plusz nélkül -, így meg fogjuk érteni, hogy nincs hivatkozás az "at" és a bitváltozókra.

Most a sorsunk olyan kifejezések, mint a "portLight | = 1 <<_Light;" и "portButton &= ˜(1 <<_Button);", где выражение типа "x |= a" заменяет длинную запись "x = x | a".

Még mindig vannak olyan gomb-és pin-beállítások, amelyek nem teljesen nyilvánvalók, de nélküle nem működik> _<
Ezért kattintson a "Project -> Options" gombra.

Az "Általános beállítások" - "Cél" lapon meghatározzuk a processzor konfigurációját - van egy gomb a szövegmező jobb oldalán

Az „Általános beállítások” - „Rendszer” van egy nagyon fontos és nagyon diszkrét tick „Enable bit definíciókat I / O-Include files” - fogalmazott, és mi örömmel: a fordító fogja érteni nem csak regisztrálja a nevét, de a nevét a nyilvántartásban bitek . Vagyis írhat valami ilyesmit: "GICR | = 1 <

// A "C / C ++ Compiler" - "Language 1" jelölőnégyzetében "Multi-file Compilation" - azt mondják, hogy jobb O_o

A "C / C ++ Compiler" - "Optimalizációk" fülön magas szintű optimalizálást állíthat be, és a kimeneti fájl mérete csökken. Elméletileg, legalábbis.

A "Linker" - "Output" jelölőnégyzetében "Override default" és a szöveges mezőben írja be a .hex kiterjesztést. akkor általában a "$ PROJ_FNAME $ .hex" szót írja - akkor a projekt neve automatikusan meg fog készülni. Az alábbiakban a "Formátum" területen válassza az "Egyéb" - "intel-standard"

Ezután minden jó legyen)

Továbbra is megyünk - bármilyen program írásához több könyvtárra van szükségünk. Csatlakoztatáshoz használja a mellékelt irányelvet:

Kacsacsőr jelzi a fordítónak, hogy a fejléc fájlokat először megtalálható a standard mappa „IAR \ avr \ inc”, és idézetek - mit kell kezdeni egy könyvtár, amelyben a projekt tárolják.

Sőt, minden típusú mikrokontroller kell csatlakoztatni a header fájlt (ATmega8 - iom8.h, a ATtiny2313 - iotiny2313.h, stb), de elvileg lehetséges, hogy csatlakoztassa a közös header fájlokat és ioavr.h inavr.h, és maga az előfeldolgozó kitalálja, mi az - a program beállításaitól függően.

Szintén ebben a fordító lesz egy csomó meghatározzák-s - a pereobozvat nyilvántartások Port Control (DDRx, PORTx, Pinx) - használat mutatókat unsigned char, a MikroC, nem fog működni - és valójában nem egyértelmű, hogy még jobb) Kis kitérő: a A C nyelv olyan, mint egy előfeldolgozó. Ő képes megváltoztatni a kódot lefordítani és dolgozni az irányelvek #include, #define, #ha, #ifdef, és így tovább.

Amikor #define three 3-ot írunk, akkor az előfeldolgozó a "3" -ot a programban a "3" -al helyettesítené a fordítás előtt,

Mintegy kenyeret és általában szükség van: valahol elrejtve jellemző __delay (érték), amely együttműködik a milliszekundum - ez az igazolást, de találni egy könyvtár, ahol van, nem tudtam - de van egy funkció __delay_cycles (unsigned long int) amely intézkedésekkel működik - a könyvtárban található "intrinsics.h" - "inavr.h" is utal erre. Ahhoz, hogy a megfelelő másodperceket megkapja, szorozza meg ezt a számot a frekvencia hertzben.

Például megjelenik egy program, amely LED-del villog:

Kapcsolódó cikkek