Gast
#1802234
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;
}
-----------------------------