loader
Foto

Bitmező készítése a PIC32 mikrovezérlőnél

A beágyazott rendszerek fejlesztésénél fontos cél az, hogy az alkalmazásunk beleférjen a mikrovezérlő memóriájába. Magasszintű nyelv (pl.: C) használata kényelmes, de a memóriaoptimalizálás már nehezebb. Ezért célszerű például a bitmezők használata, amelynek a használatával csökkenhet a felhasznált memória mérete.

Indítsuk el az MpLABX-et, és hozzunk létre egy projektet, majd ehhez adjunk hozzá egy "C" file-t. Ezután ebbe a file-ba másoljuk be a következő programot.

#include <p32xxxx.h>

union
{
    struct
    {
        unsigned b0:1;
        unsigned b1:1;
        unsigned b2:1;
        unsigned b3:1;
        unsigned b4:1;
        unsigned SS0:1;
        unsigned CS0:1;
        unsigned EN:1;  
    } Bit;
    unsigned char Byte;
} Flags;

main()
{
    TRISB = 0x0000;
    TRISD = 0x0000;
    
    Flags.Byte = 0B10101010;
    
    LATDbits.LATD0 = Flags.Bit.EN;
    
    LATB = Flags.Byte;
    while(1);
}

 

Ezzel a programmal létrehozunk egy olyan "Byte"-ot (egyébként, nem létrehozunk a "C" nyelvben egy változótípust, hanem adunk egy másik nevet), amelynek minden egyes bitjét el tudunk érni külön. Minden bitnek adunk egy nevet, amelynek segítségével az értékadás, illetve az adott bit értékének a kiolvasása egyszerüvé válik.

A "main()" függvényben először beállítjuk a "B" és a "D" portok irányát, majd a "Flags"-nek adunk értéket úgy, hogy byte-ként írjuk (0xAA). Ezután a "D" port 0. bitjének értéket adunk úgy, hogy az előbb értéket kapott "Flags"-nek a legnagyobb helyiértékét (EN) írjuk a "D" port 0. bitjére.
Ezután a "B" portnak adunk úgy értéket, hogy a Flags-nek az értékét írjuk ki erre a portra.

A szimulációs eredmény az első ábrán látható.

kep
1. kép   Szimulációs eredmény
 

Látható az, hogy ha bitmezőt alkalmazunk egy projektünknél, akkor a True/False értékeknél nem kell elhasználnunk egy char típusú változót, hanem csak egy bitet.



Egyéb cikkek

További cikkeink ebben a témakörben

Régebbi cikkeink

Október közepén elindítjuk az Atmel 8 bites mikrovezérlőkről szóló sorozatunkat. Ehhez használnunk kell természetesen egy fejlesztőkörnyezetet is. Több ilyen is létezik, például a WinAVR, vagy az Atmel Studio. Mi az Atmel Studio-t fogjuk használni, e. . . .

A PIC18F mikrovezérlők ma is népszerű a fejlesztők körében. Noha 8 bites architektúráról beszélünk, számos érdekes és hasznos alkalmazás megvalósítható vele. Elég csak az USB-re, vagy akár az Ethernetre gondolnunk. Ezért a Szerkesztőség egy sorozat k. . . .

A Microchip által javasolt fejlesztőkörnyezet az MPLABX, amely felváltja az MPlab-ot. Használata nehézkesnek tűnhet, ezért megnézzük ennek az IDE környezetnek a használatát, készítünk egy egyszerű projektet, amely egy PIC32 mikrovezérlőre épül.. . . .