serial.c

Code to work with CompactFlash (by Yann Hendrikx).



void serialInit(char rateScaler)
{
    spbrg = rateScaler;                                                 //baud rate init
    txsta = 00100100b;                                                  //transmit init
    rcsta = 10010000b;                                                  //receive init
}

void serialSendChar(char value)
{
    while((txsta & 1 << TRMT) == 0);                                 // TRMT is better then TXIF
    txreg = value;
}

char serialReceiveChar()
{
    while((pir1 & 1 << RCIF) == 0);
    return rcreg;
}

void serialSendString(const char* text)
{
    char i = 0;
    while(text[i] != 0)
        serialSendChar(text[i++]);
}

void serialSendDec(char n)
{
    if(n > 99)
        serialSendChar(((n / 100) % 10) + '0');
    if(n > 9)
        serialSendChar(((n / 10) % 10) + '0');
    serialSendChar((n % 10) + '0');
}

void serialSendHex(char n)
{
    char hexChar;
    char i;
    for(i = 0; i < 2; i++)
    {
        if(i == 0)
            hexChar = n >> 4;
        else
            hexChar = n & 0x0F;
        if(hexChar < 10)
            hexChar = hexChar + '0';
        else
            hexChar = hexChar + ('A' - 10);
        serialSendChar(hexChar);
    }
}

void serialSendBin(char n)
{
    char i;
    for(i = 0; i < 8; i++)
    {
        if(n & 10000000b)
                serialSendChar('1');
        else
                serialSendChar('0');
        n <<= 1;
    }
}



http://www.sourceboost.com/home.html

Copyright © 2002-2006 SourceBoost Technologies