/* USER CODE BEGIN PFP */
#ifdef __GNUC__
/* With GCC, 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 /* __GNUC__ */
/* USER CODE END PFP */
/* USER CODE BEGIN 0 */
PUTCHAR_PROTOTYPE
{
HAL_UART_Transmit(&huart1 , (uint8_t *)&ch, 1, 0xFFFF);
return ch;
}
/* USER CODE END 0 */
这样写会报错"FILE" is undefined 添加头文件 stdio.h即可
关键字:STM32CubeMx printf重定向 报错
引用地址:
关于STM32CubeMx printf重定向,及报错。"FILE" is undefined
推荐阅读最新更新时间:2024-11-06 13:09
STM32使用SWD连接报错总结
使用SWD通过J-Flash烧写STM32时,会出现各式各样的错误; 总结下原因: 1、复位脚被拉低了,这次我遇到的就是复位引脚的电容焊反了(钽电容),可以正常连接,但是烧写程序时会出现如下报错 – - Erasing affected sectors … - ERROR: RAM check failed @ address 0x20000000. - ERROR: Write: 0x03020100 07060504 - ERROR: Read: 0x00000000 00000000 - ERROR: (0 bytes of RAM have been checked successfully) - ER
[单片机]
关于STM32CubeMx printf重定向,及报错。"FILE" is undefined
/* USER CODE BEGIN PFP */ #ifdef __GNUC__ /* With GCC, 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 /* __GNUC__ */ /* USER CODE END PFP */
[单片机]
STM32CubeMX串口空闲中断加DMA实现不定长度收发数据
这里教程是选择的STM32F407。STM32F103也测试过。 1.首先选择串口,选择异步通信。 2.添加DMA 3.打开中断 4.生成代码,生成代码选择了每个外设单独使用.c/.h 5.我使用的是Keil5。打开工程,首先注释掉dma.c里的DMA接收中断,因为不需要DMA接收中断,DMA发送中断是需要的。(dma.c) void MX_DMA_Init(void) { __HAL_RCC_DMA2_CLK_ENABLE(); HAL_NVIC_SetPriority(DMA2_Stream0_IRQn, 2, 0); HAL_NVIC_En
[单片机]
STM32CubeMX系列教程05_File、Window、Help菜单说明
一、写在前面 STM32CubeMX主界面菜单包含:File文件、Window窗口、Help帮助这三个菜单。 STM32CubeMX V5和V4版本菜单有差异,V4版本有5个菜单:File文件、Project工程、Pinout引脚输出、Window窗口、Help帮助。 大家可以看一下我16年在公众号写过的一篇讲解关于STM32CubeMX V4版本菜单的文章:STM32CubeMX使用方法及功能介绍 相信使用过V4版本的朋友都知道,V5版本将Project工程、Pinout引脚输出这两个菜单做在工程内部去了。 本文针对V5版本,详细讲述File、Window、Help这三个菜单。 二、File文件 N
[单片机]
STM32CubeMx(Keil5)开发之路——1配置第一个项目
运行环境 Windows10 STM32CubeMX___Version 5.0.0 Keil5(MDK5)___Version 5.15 简介 本例程主要搭建第一个项目,并且完成最基本的项目所需配置,后续的教程都基于这篇教程。 STM32CubeMx配置 新建项目 搜索自己芯片的型号 点击选择封装形式 选择外部晶振 可以根据需求调节各个总线的时钟频率(就具体情况而定) DEBUG选项选择 Serial Wire (4线烧录,CLK,DIO,VCC,GND) 你会看到芯片引脚会占用这几个引脚,就是烧录用的CLK和DIO 点击 Project Manager 修改项目名称 修改项目保存路径 选择编写工具
[单片机]
STM32之串口通信之printf重定向
当我们在学习一款CPU时,最经典的实验莫过于流水灯了,掌握流水灯的话就基本等于学会操作I/O口了,那么在学会I/O之后,相对于我们来说会把学习串口的操作放在第二位。在程序运行的时候我们可以点亮一个LED来显示代码的执行状态,但有时候我们还想把某些中间量后者其他程序状态信息打印出来显示在计算机上,那么这时候串口的作用就可显而知了。 下面我们来看一下什么是串口 串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口 (Serial Interface) 是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降
[单片机]
玩转STM32CubeMX | 红外遥控
1.红外遥控简介 红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。 由于红外线遥控不具有像无线电遥控那样穿过障碍物去控制被控对象的能力,所以,在设计红外线遥控器时,不必要像无线电遥控器那样,每套(发射器和接收器)要有不同的遥控频率或编码(否则,就会隔墙控制或干扰邻居的家用电器),所以同类产品的红外线遥控器,可以有相同的遥控频率或编码,而不会出现遥控信号“串门”的情况。这对于大批量生产以及在家用电器上普及红外线遥控提供了极大的方面。由于红外线为不可见光,因此对环境影响很小,再由红外光波动波长远小于无线电波的波
[单片机]
STM32CubeMX开发工具的安装
Ⅰ、写在前面 相信很多人都知道STM32CubeMX这个工具,也是近年来开发STM32比较流行的一个工具。这个工具从两年前第一版到现在已经有多个版本了,功能也从简单越来越强大了。 STM32CubeMX是一个配置STM32代码的工具,它把很多东西封装的比较好,硬件抽象层、中间层、示例代码等。 现在ST公司主要升级和维护的库主要就是“Cube库”和“标准外设库”,使用这两种库开发各有各的好处,这里详细描述。 如果你是一名刚学STM32的初学者,想要把硬件底层搞的很明白,不建议使用STM32CubeMX这个工具,建议使用之前经典的标准外设库来开发(先学习标准外设库,但有毕竟要抽时间了解STM32CubeMX)。标准外设库可以很简单直接
[单片机]