- 博客(4)
- 收藏
- 关注
原创 volatile关键字的作用
摘要:volatile关键字主要用于防止编译器优化,确保每次访问变量都直接从内存读取/写入。其核心作用包括:1)禁止变量缓存优化,适用于可能被硬件/其他线程修改的变量;2)保证内存访问顺序。典型应用场景:1)硬件寄存器访问(嵌入式开发);2)多线程共享变量;3)中断服务程序中的全局变量。通过示例代码展示了在硬件控制、多线程同步和中断处理中的具体用法,确保数据一致性和实时性。
2025-12-15 17:21:53
322
原创 Error: Flash Download failed - “Cortex-M3“报错的解决方法
摘要:在使用ST-LINKv2下载程序时出现"Flash Download Failed"错误,原因是STM32F103C8T6的Flash容量设置不正确。解决方法:1)在Keil中打开魔术棒→Debug→Settings→Flash Download;2)删除原有Flash配置,添加正确的64KB Flash容量;3)若找不到对应型号,可从指定路径复制相应文件到Keil安装目录。该问题是由于默认配置与芯片实际容量不匹配所致,修改后即可正常下载程序。
2025-12-04 14:21:33
577
原创 嵌入式学习笔记——EEPROM(M24M01)
M24M01是ST公司出品的1Mbit(128Kbyte)I2C兼容EEPROM,兼容所有I2C总线模式(1MHz、400kHz、100kHz),Page大小为256字节,支持硬件写保护,超过400万次写入操作,超过200年的数据留存通过模块化设计,涵盖了 M24M01-RMN6P 的功能介绍、引脚架构、硬件连线、模块化代码以及性能优化思路,我们将 M24M01 EEPROM 与 STM32 的集成变得高效而可靠。希望能帮你在 STM32 上快速上手,并让你的项目存储管理更高效可靠。
2025-04-29 16:42:24
1305
2
原创 基于libwebsockets实现串口数据WebSocket实时转发(附完整代码)
本文手把手教你使用C语言开发物联网网关程序,通过libwebsockets库搭建WebSocket服务器,实现串口数据与网络客户端的双向实时通信。文中提供完整项目代码,涵盖多线程处理、数据同步等关键技术细节,助力快速开发工业物联网通信中间件。
2025-02-12 16:19:06
1194
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅