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

STM32Hal库学习11.23

STM32Hal库学习11.23

1.使用Printf重定义函数时,如果发现已经定义了fputc函数,但是仍没有输出,但是不报错,可能是没有定义__io_putchar

// 实现__io_putchar函数,用于系统调用层的输出重定向
int __io_putchar(int ch)
{// 阻塞式发送1字节数据(通过USART1发送,超时时间100ms)HAL_UART_Transmit(&huart1, (uint8_t*)&ch, 1, 100);return ch;
}
// 重定义 fputc 函数:printf 输出数据时,自动调用该函数通过串口发送
int fputc(int ch, FILE *f)
{return __io_putchar(ch);  // 直接调用__io_putchar
}

2.使用某个外设时,需要开启对应的外设时钟。

  1. 声明句柄UART_HandleTypeDef huart1;
  2. 初始化Hal库HAL_Init();
  3. 配置系统时钟SystemClock_Config();
  4. 初始化IO口,使能IO口对于GPIOX时钟。
  5. 外设初始化。
//使能串口1时钟
__HAL_RCC_USART1_CLK_ENABLE();
//...初始配置
//初始化
HAL_UART_Init(&huart1);

3.VS Code开发STM32单片机,Hal库

  • BUILD ANALYZER不显示内存使用情况:
    可以正常使用CMake编译成功,但是BUILD ANALYZER报错,无使用情况进度条,可能是CMakeList.txt中项目名称没有改,改过来和文件夹名一致即可。
    Pasted image 20251123225733
  • 删除缓存并重新配置,并重新生成。
    image
http://www.jsqmd.com/news/48753/

相关文章:

  • Winre.wim
  • 4sapicom生成式 AI 驱动下的智能聊天机器人 - 教程
  • KEYDIY PAK06-TB Phone As Key: Smart Keyless Car Key for European American Vehicles
  • 4.典型的分治算法
  • Serilog 日志库简单实践(三)集中式日志与分析平台 Sinks(.net8)
  • 数论部分
  • Java的ConcurrentModificationException异常介绍和解决方案
  • 深入理解 Dart 中的 const 与 final:编译时常量与运行时常量
  • python: 缩放图片
  • java和python做出什么
  • java和linux
  • 湖南工程学院 学科实践与创新协会电气部 幕后揭示
  • KEYDIY PAK06-ZB Phone As Key: Replace Your Car Key with Your Smartphone for European/American Cars
  • 湖南工程学院 学科实践与创新协会电气部 新生选拔赛
  • It Calculus
  • 20232412 2024-2025-1 《网络与系统攻防技术》实验六实验报告
  • 20232309 2025-2026-1 《网络与系统攻防技术》实验六实验报告
  • 2025 ICPC 西安区域赛 VP
  • K8s学习笔记(二十二) 网络组件 Flannel与Calico - 详解
  • 完整教程:人脸识别4-Windows下基于MSVC编译SeetaFace6
  • CF1483D-Useful Edges
  • Paddle-CLS图像分类_环境安装
  • 2025年11月短视频运营公司最新TOP5推荐:业绩增长与效率筛选标准
  • 实用指南:【10】MFC入门到精通——MFC 创建向导对话框、属性页类、属性表类、代码
  • 2025-09-10-Wed-T-Kubernetes
  • 一文入门 Dify平台的插件开发
  • 20232326 2025-2026-1 《网络与系统攻防技术》实验六实验报告
  • 2025年11月小程序开发公司TOP5评测:功能落地与适配筛选标准,西南地区企业选择指南
  • 2025年11月云南数字人供应商最新TOP5推荐:精细建模优质选择
  • 第二讲下梯度下降算法