当前位置: 首页 > news >正文

CubeMx——串口与 printf 打印

CubeMx 配置

在这里插入图片描述

fputc 实现

/* USER CODE BEGIN 0 */
#include <stdio.h>
/* USER CODE END 0 */
/* USER CODE BEGIN 1 */
int fputc(int ch, FILE *f)
{
    /* Place your implementation of fputc here */
    /* e.g. write a character to the USART */
    uint8_t send_data = ch;
    HAL_UART_Transmit(&huart1, &send_data, 1, HAL_MAX_DELAY);

    return ch;
}
/* USER CODE END 1 */

使能 libc

在这里插入图片描述

编译报错解决

  • Undefined symbol use two region memory (referred from startup stm32xxx)
  • Undefined symbol initial sp (referred from entry2.o)

解决这两个错误也 比较简单,在 .s 启动文件中将 Stack_Size 改大一点就可以了

Stack_Size		EQU     0x600

在这里插入图片描述
或者直接在 CubeMx 生成的时候修改配置
在这里插入图片描述

串口打印

/* USER CODE BEGIN PV */
#include <stdio.h>
/* USER CODE END PV */
  /* USER CODE BEGIN 2 */
  printf("this is printf example\r\n");

  /* USER CODE END 2 */
http://www.dtcms.com/a/98444.html

相关文章:

  • Python每日一题(9)
  • MyBatis的第一天笔记
  • 标书工具私有部署技术方案
  • springmvc redirect 使用https后跳转到了http://域名:443问题处理
  • 梯度裁剪(Gradient Clipping)
  • 【商城实战(97)】ELK日志管理系统的全面应用
  • 大模型最新面试题系列:微调篇之微调框架(三)
  • MySQL 常见面试问题总结
  • web3包含哪些关键技术栈,一些成功使用场景的分享
  • [FGPA基础学习]分秒计数器的制作
  • flutter 专题 七十 Flutter应用开发之webview_flutter插件
  • C盘清理技巧分享:PE Dism++ 空间清理篇
  • Vue学习笔记集--watch
  • 【SQL】MySQL基础2——视图,存储过程,游标,约束,触发器
  • 关于音频采样率,比特,时间轴的理解
  • ai 项目练习(一)
  • AI来了,新手如何着手学习软件开发?
  • 基于kafka的分布式日志收集平台项目(续)
  • AnimateCC基础教学:随机抽取获奖名单及奖品-V1.0原型版
  • 双非一本毕业测试工作一年想转C++开发,嵌入式Linux与音视频方向哪个方向更合适?
  • JavaScript使用
  • 浅拷贝或深拷贝js数组或对象的方法
  • 常用数据库
  • 使用 Docker Compose 在单节点部署多容器
  • C++ 变量与初始化详解(十五)
  • 【商城实战(100)】商城败局启示录:探寻成功的反方向
  • 【ChatBox】deepseek本地部署
  • 解决 Gradle 构建错误:Could not get unknown property ‘withoutJclOverSlf4J’
  • 【Linux笔记】进程间通信——匿名管道||进程池
  • Linux 系统部署Jump Server服务