概述
本章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 */
结果演示
上一篇:应用笔记 | STM32L4R9 的QuadSPI Flash 通讯速率不理想
下一篇:LinkedInSTM32F4时钟系统初始化的程序代码分享
推荐阅读最新更新时间:2024-11-03 05:25
设计资源 培训 开发板 精华推荐
- 使用 Microchip Technology 的 SG309 的参考设计
- 使用 ROHM Semiconductor 的 BD45305 的参考设计
- L78L08AC正压稳压器的电流调节器典型应用
- 使用 Analog Devices 的 LT124XCS8 的参考设计
- 使用 LTC2377CDE-16、16 位、500ksps SAR ADC 的典型应用
- 使用 MikroElektronika 的 MAX8903B 的参考设计
- LT1171CQ、5V/2.5A 正电流升压降压转换器的典型应用
- LTC3101 的典型应用 - 宽输入电压、多输出 DC/DC 转换器和 PowerPath 控制器
- 全开源回流焊Reflow-Controller:基于ESP32-S2,魔改烤箱
- 基于STM32F334C8微控制器的500 W全数字AC-DC电源(D-SMPS)