serial.c

来自「PIC读写CF卡的C程序(含原理图)」· C语言 代码 · 共 68 行

C
68
字号
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;
    }
}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?