0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32CUBEMX开发GD32F303(7)----配置printf

嵌入式单片机MCU开发 来源: 嵌入式单片机MCU开发 作者: 嵌入式单片机MC 2022-11-28 11:06 次阅读

概述

本章STM32CUBEMX配置STM32F103,并且在GD32F303中进行开发,同时通过GD32303C_START开发板内进行验证。

样品申请

https://www.wjx.top/vm/mB2IKus.aspx

硬件准备

这里准备了GD32303C_START开发板进行验证。

在这里插入图片描述

printf()函数

printf()函数是式样化输出函数, 一般用于向准则输出设备按规定式样输出消息。正在编写步骤时经常会用到此函数。printf()函数的挪用式样为: printf(“<式样化字符串>”,<参数表>); 其中式样化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出;另一部分是式样化规定字符, 以"%“开端, 后跟一个或几个规定字符, 用来确定输出内容式样。 参量表是需求输出的一系列参数, 其个数务必与式样化字符串所阐明的输出参数个数一样多, 各参数之间用英文逗号”,"分开, 且顺序逐一对应, 不然将会出现意想不到的错误。 注意:函数printf从右到左压栈,然后将先读取放到栈底,最后读取的放在栈顶,处理时候是从栈顶开始的,所以我们看见的结果是,从右边开始处理的。

STM32CUBEMX配置

在这里插入图片描述在这里插入图片描述

keil配置

microlib 进行了高度优化以使代码变得很小。 它的功能比缺省 C 库少,并且根本不具备某些 ISO C 特性。 某些库函数的运行速度也比较慢,如果要使用printf(),必须开启。

在这里插入图片描述

代码

在main.c中,添加头文件,若不添加会出现 identifier "FILE" is undefined报错。

/* USER CODE BEGIN Includes */
#include "stdio.h"
/* USER CODE END Includes */

函数声明和串口重定向:

/* USER CODE BEGIN PFP */
void uart1_data(void);                    //接收函数
#ifdef __GNUC__                                    //串口重定向
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif 
PUTCHAR_PROTOTYPE
{
    HAL_UART_Transmit(&huart1 , (uint8_t *)&ch, 1, 0xFFFF);
    return ch;
}
/* USER CODE END PFP */

printf()打印。

/* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */    
    printf("串口打印例程\\r\\n");
    HAL_Delay(1000);            
  }
  /* USER CODE END 3 */

结果演示

在这里插入图片描述

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2266

    文章

    10871

    浏览量

    354789
  • Printf
    +关注

    关注

    0

    文章

    81

    浏览量

    13624
收藏 人收藏

    评论

    相关推荐

    STM32CUBEMX开发GD32F303(6)----GPIO输入函数说明

    本章STM32CUBEMX配置STM32F103,并且在GD32F303中进行开发,同时通过GD
    的头像 发表于 11-25 16:06 1532次阅读
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>开发</b><b class='flag-5'>GD32F303</b>(6)----GPIO输入函数说明

    STM32CUBEMX开发GD32F303(8)----USART收发配置

    本章STM32CUBEMX配置STM32F103,并且在GD32F303中进行开发,同时通过GD
    的头像 发表于 11-29 10:40 3103次阅读
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>开发</b><b class='flag-5'>GD32F303</b>(8)----USART收发<b class='flag-5'>配置</b>

    STM32CUBEMX开发GD32F303(9)----USART通过DMA收发

    概述 本章STM32CUBEMX配置STM32F103,并且在GD32F303中进行开发,同时通过GD
    的头像 发表于 11-29 11:15 2030次阅读
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>开发</b><b class='flag-5'>GD32F303</b>(9)----USART通过DMA收发

    STM32CUBEMX开发GD32F303(1)----前期准备与烧录

    概述 在这使用STM32CUBEMX进行配置STM32F103,移植到兆易创新GD32F303,然后进行测试。 芯片申请 芯片和开发板都可免
    的头像 发表于 11-22 17:08 2999次阅读
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>开发</b><b class='flag-5'>GD32F303</b>(1)----前期准备与烧录

    STM32CUBEMX开发GD32F303(3)----点亮LED

    STM32CUBEMX创建STM32F103工程,同时移植在GD32F303中,同时通过J-LINK烧录GD32303C_START和GD
    的头像 发表于 11-23 11:43 2575次阅读
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>开发</b><b class='flag-5'>GD32F303</b>(3)----点亮LED

    STM32CUBEMX开发GD32F303(4)----GPIO输出模式,速率测试、开漏和输出说明

    STM32CUBEMX创建STM32F103工程,同时移植在GD32F303中,同时通过GD32303C_START开发板内进行验证。 需
    的头像 发表于 11-25 11:49 1808次阅读
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>开发</b><b class='flag-5'>GD32F303</b>(4)----GPIO输出模式,速率测试、开漏和输出说明

    STM32CUBEMX开发GD32F303(5)----GPIO输出函数说明

    概述 本章STM32CUBEMX配置STM32F103,并且在GD32F303中进行开发,同时通过GD
    的头像 发表于 11-25 15:58 1154次阅读
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>开发</b><b class='flag-5'>GD32F303</b>(5)----GPIO输出函数说明

    STM32CUBEMX开发GD32F303(10)----双ADC轮询模式扫描多个通道

    本章STM32CUBEMX配置STM32F103,并且在GD32F303中进行开发,同时通过GD
    的头像 发表于 11-29 17:38 1795次阅读
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>开发</b><b class='flag-5'>GD32F303</b>(10)----双ADC轮询模式扫描多个通道

    STM32CUBEMX开发GD32F303(11)----ADC在DMA模式下扫描多个通道

    本章STM32CUBEMX配置STM32F103,并且在GD32F303中进行开发,同时通过GD
    的头像 发表于 11-30 10:59 2237次阅读
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>开发</b><b class='flag-5'>GD32F303</b>(11)----ADC在DMA模式下扫描多个通道

    STM32CUBEMX开发GD32F303(12)----输出PWM及修改PWM频率与占空比

    本章STM32CUBEMX配置STM32F103,并且在GD32F303中进行开发,同时通过开发
    的头像 发表于 11-30 14:40 3771次阅读
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>开发</b><b class='flag-5'>GD32F303</b>(12)----输出PWM及修改PWM频率与占空比

    STM32CUBEMX开发GD32F303(13)----定时器TIM捕获PWM测量频率与占空比

    概述 本章STM32CUBEMX配置STM32F103,并且在GD32F303中进行开发,同时通过开发
    的头像 发表于 12-07 10:15 3455次阅读
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>开发</b><b class='flag-5'>GD32F303</b>(13)----定时器TIM捕获PWM测量频率与占空比

    STM32CUBEMX开发GD32F303(14)----IIC之配置OLED

    本章STM32CUBEMX配置STM32F103,并且在GD32F303中进行开发,同时通过开发
    的头像 发表于 07-26 13:52 1914次阅读
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>开发</b><b class='flag-5'>GD32F303</b>(14)----IIC之<b class='flag-5'>配置</b>OLED

    STM32CUBEMX开发GD32F303(15)----外部中断EXTI

    本章STM32CUBEMX配置STM32F103,并且在GD32F303中进行开发,同时通过开发
    的头像 发表于 07-26 15:53 1286次阅读
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>开发</b><b class='flag-5'>GD32F303</b>(15)----外部中断EXTI

    STM32CUBEMX开发GD32F303

    在这使用STM32CUBEMX进行配置STM32F103,移植到兆易创新GD32F303,然后进行测试。
    的头像 发表于 07-27 09:32 1523次阅读
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>开发</b><b class='flag-5'>GD32F303</b>

    STM32CUBEMX开发GD32F303(17)----内部Flash读写

    本章STM32CUBEMX配置STM32F103,并且在GD32F303中进行开发,同时通过开发
    的头像 发表于 07-27 09:35 1736次阅读
    <b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>开发</b><b class='flag-5'>GD32F303</b>(17)----内部Flash读写