美文网首页我爱编程
stm32+freeRTOS+printf重映射串口

stm32+freeRTOS+printf重映射串口

作者: FitTiger | 来源:发表于2016-08-09 15:03 被阅读0次

stm32Cub极大的方便了我们对于stm32单片机的使用,包括GPIO、freeRTOS、FATFS(文件管理)等功能,但有些设置还须我们手动配置,如串口打印映射问题,下面我们以串口2为例,重新映射。

在main() 函数之前 添加以下代码

#ifdef __GNUC__
  /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
     set to 'Yes') calls __io_putchar() */
  #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
  #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif 

之后添加

PUTCHAR_PROTOTYPE
{
    HAL_UART_Transmit(&huart2,(uint8_t *)&ch,1,0xFFFF);
    
    return ch;
}

huart2可更改,freeRTOS系统初始化定义。

串口打印在调试时十分有用,但串口打印极大的耗费系统资源,影响系统实时性,因此在release 版本中需要将串口打印去掉,如何方便的进行设置,请看如下代码:

#define  configDebugPrintf   1
#if   (1 == configDebugPrintf)
    #define  Debug_printf(fmt,args...)   printf(fmt"----[file name = %s  line num = %d]""\n",__FILE__,__LINE__,##args)
#else
    #define  Debug_printf(fmt,args...)
#endif

--FILELINE为stm32库自定义的文件和行号

相关文章

  • stm32+freeRTOS+printf重映射串口

    stm32Cub极大的方便了我们对于stm32单片机的使用,包括GPIO、freeRTOS、FATFS(文件管理)...

  • Arduino 软串口

    软串口 软串口就是通过将开发板的串口,映射到普通IO上作为串口使用 接线图 RXTXD10D11 代码

  • 树莓派串口设置

    1. 树莓派串口设置 1.1. 将树莓派的硬件串口与mini串口默认映射对换 硬件串口由硬件实现,有单独波特率时钟...

  • 树莓派串口配置

    插上蓝牙模块 以下是树莓派原理图 配置串口 首先可以查看串口映射关系ls -l /devimage.png 以上图...

  • 记一次从硬件到上层的socket问题定位分析

    问题描述: 平板的串口连接超级网口(超级网口:理解为串口跟网口的映射),python端通过socket库来读取数据...

  • Android串口通讯开发

    1.Windows下设置模拟器串口映射,便于调试: 使用工具包: 百度网盘下载 (1)win下运行虚拟串口工具,...

  • USART

    Ⅰ、串口的初始化配置 Ⅱ、发送一个字节 Ⅲ、重定义“printf”和“scanf” Ⅰ、串口的初始化配置 Ⅱ、发送...

  • STM32-printf重映射串口

    在STM32开发过程中必然需要串口打印参与调试,而往往STM32调试分配串口不会固定,可能是在串口1,也有可能为串...

  • Android串口通讯

    串口通讯的步骤: 1.打开串口。 2.串口处于监听状态 3.想串口写入数据,串口接收到数据返回数据 串口的一个基本...

  • 关于串口格式与报文格式

    《串口硬件分类》中已经说明了几种串口的类型,并在《串口通信协议》中说明了几种串口协议形式,这里就常用的串口协议进一...

网友评论

    本文标题:stm32+freeRTOS+printf重映射串口

    本文链接:https://www.haomeiwen.com/subject/tzldsttx.html