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

printf可以映射到任意的串口上吗

谭士珠丰 2019-04-26 浏览量:936
串口4可以使用printf函数改成串口1就不行,求解答
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 当然是可以的,printf只是一个软件的实现层,具体的硬件发送数据还是串口输出的,所以在映射的时候可以选择任意的串口,这样的话只需要对不同的串口映射输出就可以了,没有固定的串口号
    • 发布于 2019-04-29
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:4
  • 可以的,只要是硬件uart或者usart都可以的,主要改两个地方,一个是初始化串口的地方,注意引脚也需要重映射,寄存器名字也要改下,还有一个地方就是串口写函数需要把相关寄存器名字改下,你检查上面两个地方看看
    • 发布于2019-04-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以,可以自己定位到任意一个串口
    • 发布于2019-04-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 应该是你配置有问题,其实网上大多数例程都是定位到UART1的,但这个是可以配置的,

    需要在程序中进行对应的初始化与管脚映射。

    你需要查你所用库的技术手册,进行对应配置。

    • 发布于2019-04-26
    • 举报
    • 评论 0
    • 0
    • 0

  • int fputc(int ch FILE *f){
      USART_SendData(CH340_USARTx (uint8_t) ch);  
      while (USART_GetFlagStatus(CH340_USARTx USART_FLAG_TXE) == RESET);   
      return (ch);
    }​

    重定向的时候在fputc函数中把对应的端口设置进去就可以了,即把上述CH340_USARTx更换你需要的函数即可

    • 发布于2019-04-26
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

printf可以映射到任意的串口上吗