• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

多串口要怎么修改fputc函数

qidai 2019-08-21 浏览量:1421
原子哥的串口例程里fputc支持串口1,要用串口2printf可以将里面的寄存器改成串口2的,那如果我同时用两个串口呢?要怎么修改int fputc(int ch FILE *f)
{      
        while((USART1->SR&0X40)==0);//循环发送直到发送完毕   
    USART1->DR = (u8) ch;      
        return ch;
}

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 可以重写printf,类似于一些,名字会有点区别

    char string[100];
    void u2_printf(char *fmt...)
    {
        va_list ap; 
        va_start(apfmt); 
        vsprintf(stringfmtap);
        UartSendString(string);    //这个函数就是发送字符串函数,通过上一个函数,就把该提取的东西都提取了
        va_end(ap); 

    • 发布于 2019-09-11
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:1
  • FILE *f在你现在的fputc中没有利用,其实这个就是用来指向不同的串口的。

    后面的USART1需要根据f变量来处理。

    • 发布于2019-08-21
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

多串口要怎么修改fputc函数