实现的原理:就是找到 printf 和scanf函数的输入/输出端的接口函数把它修改定向到串口。
#include#include "mcu.h" #define UART_FORMAT_TDR SBUF //发送数据寄存器 #define UART_FORMAT_TDIF_READ() TI //发送数据寄存器为空置1,反之0。写 发送数据寄存器 清该标志 #define UART_FORMAT_TDIF_CLR() TI = 0 //清发送数据完成中断标志 #define UART_FORMAT_RDR SBUF //接收数据寄存器 #define UART_FORMAT_RDIF_READ() RI //接收数据寄存器不为空置1,反之0。读 接收数据寄存器 清该标志 #define UART_FORMAT_RDIF_CLR() RI = 0 //清接收数据完成中断标志 char putchar(char ch) { UART_FORMAT_TDIF_CLR(); //清TDIF标志 UART_FORMAT_TDR = ch; //写 发送数据寄存器 while( !UART_FORMAT_TDIF_READ() ); //等待 发送数据寄存器 为空 return ch; //返回发送数据 } char _getkey(void) { char ch; while( !UART_FORMAT_RDIF_READ() ); //等待 接收数据寄存器 不为空 ch = UART_FORMAT_RDR; //读 接收数据寄存器 UART_FORMAT_RDIF_CLR(); //RDIF标志 return ch; //返回接收数据 }



