stm32f7 HAL库 串口重定向 使用printf

发布者:EtherealMelody最新更新时间:2018-06-08 来源: eefocus关键字:stm32f7  HAL库  串口重定向  printf 手机看文章 扫描二维码
随时随地手机看文章

首先将串口初始化,然后添加重定向代码

下面使用的是串口三,因此以串口三为例:


  1. UART_HandleTypeDef huart3;  

  2. #ifdef __GNUC__  

  3. /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf  

  4. set to 'Yes') calls __io_putchar() */  

  5. #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)  

  6. #else  

  7. #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)  

  8. #endif /* __GNUC__ */  

  9. /**  

  10. * @brief Retargets the C library printf function to the USART.  

  11. * @param None  

  12. * @retval None  

  13. */  

  14. PUTCHAR_PROTOTYPE  

  15. {  

  16.   /* Place your implementation of fputc here */  

  17.   /* e.g. write a character to the EVAL_COM1 and Loop until the end of transmission */  

  18.   HAL_UART_Transmit(&huart3, (uint8_t *)&ch, 1, 0x0001);  

  19.   return ch;  

  20. }  


添加完代码后就可以使用printf进行打印了~


关键字:stm32f7  HAL库  串口重定向  printf 引用地址:stm32f7 HAL库 串口重定向 使用printf

上一篇:STM32F746 利用HAL库编写串口驱动程序
下一篇:STM32F207Cube库函数USART中断接收

推荐阅读最新更新时间:2024-03-16 16:05

怎么解决STM32(MDK)中不能使用printf()函数的问题
简单地说:想在mdk 中用printf,需要同时重定义fputc函数和避免使用semihosting(半主机模式), 标准库函数的默认输出设备是显示器,要实现在串口或LCD输出,必须重定义标准库函数里调用的与输出设备相关的函数. 例如:printf输出到串口,需要将fputc里面的输出指向串口(重定向),方法如下: #ifdef __GNUC__ /* With GCC/RAISONANCE, small printf (option LD Linker- Libraries- Small printf set to 'Yes') calls __io_putchar() */ #define PUTCHAR_
[单片机]
怎么解决STM32(MDK)中不能使用<font color='red'>printf</font>()函数的问题
【STM32】HAL库-CRC校验
CRC 循环冗余校验(CRC)计算单元是根据固定的生成多项式得到任一32位全字的CRC计算结果。 使用CRC-32(以太网)多项式:0x4C11DB7 CRC计算单元含有1个32位数据寄存器: 对该寄存器进行写操作时,作为输入寄存器,可以输入要进行CRC计算的新数据。 对该寄存器进行读操作时,返回上一次CRC计算的结果。 每一次写入数据寄存器,其计算结果是前一次CRC计算结果和新计算结果的组合(对整个32位字进行CRC计算,而不是逐字节地计算)。 在CRC计算期间会暂停CPU的写操作,因此可以对寄存器CRC_DR进行背靠背写入或者连续地写-读操作。 可以通过设置寄存器CRC_CR的RESET位来重置寄存器CRC
[单片机]
【STM32】<font color='red'>HAL库</font>-CRC校验
STM32 I2C HAL库读取HTU21D
以下代码为使用I2C库函数读取HTU21D温度数据的例程。 ret=HAL_I2C_Mem_Read(&hi2c1,0x80,0xf3,I2C_MEMADD_SIZE_8BIT,rx_buf,2,2000); if(ret == HAL_OK) { rx_buf &= 0xfc; temp = rx_buf ; temp *= 256; //wendu =8; temp += rx_buf ; temp *= 17572; temp /= 65536; temp -= 4685; //保留两位小数 temp /=10; result = (int16_t)temp; pri
[单片机]
stm32的TIM定时器HAL库函数的使用
相关具体内容参考 stm32f4xx_hal_time.h 几种模式函数的类型都差不多,包括基本类型(Base),输出比较(OC),输入捕获(IC),pwm(PWM),单脉冲(One_Pulse)和编码器(Encoder)。 /****** xxx使用上述几种模式的英文替换即可*******/ HAL_TIM_xxx_Init HAL_TIM_xxx_DeInit HAL_TIM_xxx_MspInit HAL_TIM_xxx_MspDeInit /***轮询方式启动/停止/ HAL_TIM_xxx_Start HAL_TIM_xxx_Stop /***中断方式启动/停止/ HAL_TIM_xxx_Start_IT HAL_TIM
[单片机]
STM32CubeMX串口配置及库printf打印
最新版STM32CubeMXV5.0.0已经上传到了网盘,或者自己通过软件在线升级。 STM32CubeMX运行环境搭建包含两个部分。首先是 Java运行环境安装,其次是STM32CubeMX软件安装。Java 软件和STM32CubeMX 软件都可以在官网找到最新的下载。 1. Java运行环境,大家可以到 Java 官网 www.java.com下载最新的 Java 软件; 2.STM32CubeMX可以在ST官网www.st.com/content/st_com/zh.html下载最新的版本; 3.或者在我网盘上下载全部所需软件资料,链接:https://pan.baidu.com/s/1kWUH08n 密码:
[单片机]
STM32CubeMX<font color='red'>串口</font>配置及库<font color='red'>printf</font>打印
基于STM32的多种printf用法 你都知道吗?
在调试代码的时候,最常用的就是使用printf函数来输出一些打印信息,提示自己代码的执行情况。 如果你的UART串口不够用,还要用printf,此时该怎么办? 方法其实是有的,那就是:使用SWO/SWV。 SWO:Serial Wire Output,串行线输出 SWD:Serial Wire Viewer,串行线查看器 一、常见printf输出 1.UART打印 这种使用UART串口输出,需要占用一个 硬件 串口。 2. Keil MDK- ARM Viewer输出 3.IAR EWARM终端输出 4.ST-LINK U ti lity SWV输出 这后面三种不占用硬件UART,使用ITM机制。 二、UA
[单片机]
基于STM32的多种<font color='red'>printf</font>用法 你都知道吗?
STM32--HAL库IIC
hal库已封装函数 输入输出函数: 阻塞模式: HAL_I2C_Master_Transmit(); HAL_I2C_Master_Receive(); HAL_I2C_Slave_Transmit(); HAL_I2C_Slave_Receive() HAL_I2C_Mem_Write(); HAL_I2C_Mem_Read(); HAL_I2C_IsDeviceReady() 带中断非阻塞模式: HAL_I2C_Master_Transmit_IT(); HAL_I2C_Master_Receive_IT(); HAL_I2C_Slave_Transmit_IT() HAL_I2C_Sl
[单片机]
keil环境下STM32使用printf
1、首先需要设置keil ! (https://img-blog.csdn.net/20180509170628341?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbmd6aGltaW5fMDcwMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70) 2、添加头文件 3、在代码中增加两段代码 增加第一段代码: #ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #else #define PUTCHAR_PR
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved