Forum: Mikrocontroller und Digitale Elektronik PICDEM Z Programmierung: versteh Teil-Programm nicht


von Chris (Gast)


Lesenswert?

Hallo, Ich bin leider ein C-Anfänger, daher hoffe ich auf Hilfe. Ich 
habe das Picdem z (Zigbee) Board (PIC18f4620) und versuche gerade das 
Demoprogramm zu verstehen. Ich hänge aktuell an dem folgenden 
Programmteil fest:


Eingebunden durch Header-Dateien:

#define ConsoleIsGetReady()   (PIR1bits.RCIF)
----------------------------------------------------
BYTE ConsoleGet(void)
{
    // Clear overrun error if it has occured
    // New bytes cannot be received if the error occurs and isn't 
cleared

    if(RCSTAbits.OERR)
    {
        RCSTAbits.CREN = 0;   // Disable UART receiver
        RCSTAbits.CREN = 1;   // Enable UART receiver
    } return RCREG
-------------------------------------------------------------------
void ConsolePut(BYTE c)
{
    while( !ConsoleIsPutReady() );
    TXREG = c;
}

---------------------------------------------------
void ConsolePutROMString(ROM char* str)
{
    BYTE c;

    while( c = *str++ )
        ConsolePut(c);

    // Since this function is mostly for debug, we'll block here to make 
sure
    // the last character gets out, in case we have a breakpoint on the
    // statement after the function call

---------------------------------------
.
.
Programmteil:

BYTE GetHexDigit( void )
{
    BYTE    c;

    while (!ConsoleIsGetReady());
    c = ConsoleGet();
    ConsolePut(c);

    if (('0' <= c) && (c <= '9'))
        c -= '0';
    else if (('a' <= c) && (c <= 'f'))
        c = c - 'a' + 10;
    else if (('A' <= c) && (c <= 'F'))
        c = c - 'A' + 10;
    else
        c = 0;

    return c;
}



BYTE GetMACByte( void )
{
    BYTE    oneByte;

    //ConsolePutROMString( (ROM char * const) "\r\n\r\nEnter last MAC 
byte in hex: " );
    oneByte = GetHexDigit() << 4;
    oneByte += GetHexDigit();
    //ConsolePutROMString( (ROM char * const) "\r\n\r\n" );

    return oneByte;
}

-----------------------------

von Ago (Gast)


Lesenswert?

Ähm... und wie lautet die Frage? ;-)

von Chris (Gast)


Lesenswert?

Pardon, da fehlte noch die Frage, hast recht:0)

Hat sich aber soeben erledigt. Habe es selber herausgefunden. Kann man 
den Beitrag eigendlich löschen? VG

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.