天天看點

PIC單片機printf()函數重定向

基本資訊:

系統:Windows10

編譯器:MPLAB X IDE V3.26 + XC8 V1.45

單片機:PIC18F66K22

下載下傳器:PICKit3

一、序列槽初始化

/*

函數名:void USART1_Init( void )

功能:使用的是序列槽1,序列槽初始化

*/

void USART1_Init( void )

{
    TRISC6 = 1;
    TRISC7 = 1;        // 輸入模式,作複用功能

    TX91 = 0;            // 8位發送
    TXEN1 = 1;
    SYNC1 = 0;            // 異步模式
    BRGH1 = 1;
    RX91 = 0;
    CREN1 = 1;            
    
    SPEN1 = 1;            // 使能序列槽
    SPBRG1 = 207;        // 波特率9600
}
           

二、printf()函數重定向

printf函數可以完成兩件事:它基于你指定的格式字元串和占位符格式化文本,并将改格式化文本發送(列印)到目标(或流)然後它會調用一個putch函數來發送格式化文本的每一個位元組。

/*
函數名:void putch( char ch )
功能:重定向printf函數
*/

void putch( char ch )
{
    while( !TX1IF )
        continue;
    TXREG1 = ch;
}
           

                                                                                                               END