51内核mcu实现printf的一种方法

  根据项目需要使用了51内核的MCU,开始开发的第一件事就是调试串口和printf功能,毕竟printf功能在调试中十分重要。

  这时候直接调用printf是无效的,最后查找发现除了初始化需要使用的串口外还需要将putchar这个函数重新定义。

 

char putchar (char c)
{
    UART1_TX1_IF_CLR;       // 清除TX1中断标志位
    UART1_TXB = c;     // 发送数据
    while(TX1_IF == 0);  // 等待发送完毕
    UART1_TX1_IF_CLR;     // 清除TX1中断标志位
    UART1_TX1_INT_EN;    // 使能TX1中断 
}

 

   这样就可以正常使用printf进行输出打印日志了。

  

posted @ 2021-04-18 18:13  丶尘丶  阅读(318)  评论(0编辑  收藏  举报