|
【春节福利】每日一 “芯” 意,ST 论坛邀你 “马上” 翻好礼!
/ B: h1 h6 W2 ] " q0 e2 J. ^; {4 r2 e& s4 x( e |6 ~6 v# u6 O8 m( ? 每日心意奖: 当日礼:活动结束从参与话题互动的用户中,随机抽取 15名 送出 STM32开发板或精美礼品一份。$ d+ Z* s) G: Y 全勤礼:连续参与 14 天不同话题互动的用户,即可参与终极抽奖,赢取IQ耳机+60 元京东 E 卡(共6名)。- \7 x5 T0 C" P% ` 彩蛋礼:如果你的回复被管理员选中为 “最佳回复”,可直接获得荣耀手表一块 (共2名)
![]() 第一周:预热与自我回顾(2.10 - 2.16) • Day 1 (2.10) 翻出【愿望牌】:你的 2026 技术目标是? o 示例:【愿望牌】:今年必须吃透 STM32H7 的 MIPI DSI 接口,或者搞定 RT-Thread 系统移植! • Day 2 (2.11) 翻出【吐槽牌】:分享一个你遇到过的奇葩 Bug。& `# v2 j1 n1 l2 r$ s$ ^- A o 示例:排查了三天的死机问题,最后发现是杜邦线接触不良 / 晶振没接地。' d2 \, y. j$ Q) Y9 Y. E • Day 3 (2.12) 翻出【晒图牌】:晒出你的工作台一角。 o 示例:照片里可以是你的开发板、示波器,或者陪伴你多年的那杯 “程序员之水”。7 f5 l6 z/ P; q( @! d: [6 b • Day 4 (2.13) 翻出【回忆牌】:聊聊你与 ST 的 “第一次”。+ n5 }$ V: l* f2 X2 m o 示例:第一次使用的 ST 芯片是 STM32F103,还是大学时的课程设计?) d% Q' q D: W' V • Day 5 (2.14) 翻出【撒狗粮牌】:技术人的浪漫。 o 示例:秀一下给对象写的单片机爱心流水灯,或者收到的最硬核的礼物。. d, i$ T, ` y( J • Day 6 (2.15) 翻出【干货牌】:分享一个 ST 实用小技巧。 o 示例:分享一个 STMCubeIDE 的快捷键用法,或者 HAL 库的某个隐藏功能。 • Day 7 (2.16) 翻出【许愿牌】:向 ST 官方许个愿。 o 示例:希望 ST 出一款更便宜的 H7 开发板,或者希望库函数注释更详细一点。 6 ~1 S, }) I5 g9 x ![]() 第二周:春节氛围与展望(2.17 - 2.23) • Day 8 (2.17) 翻出【年味牌】:开发板也过年。* G- ?5 \ N- K o 示例:给你的 Nucleo 开发板戴个小帽子,或者拍一张开发板和年夜饭的合影。 • Day 9 (2.18) 翻出【电影牌】:推荐一部技术相关的电影 / 剧。 o 示例:《模仿游戏》、《黑客帝国》,或者最近很火的《三体》,并说说为什么推荐。 • Day 10 (2.19) 翻出【解压牌】:你是如何缓解 Debug 压力的? o 示例:Debug 不出来时,是去跑步、打游戏,还是对着天花板发呆?0 n# A2 S5 k+ b) L+ ?; l' Q2 t • Day 11 (2.20) 翻出【神器牌】:晒出你的必备开发工具。& A( W8 L. e, f o 示例:除了电脑和开发板,哪一个工具(如某款镊子、热风枪、调试软件)是你离不开的?) f+ z: V `& ?% v0 s • Day 12 (2.21) 翻出【对联牌】:写一副电子工程师的春联。 L1 I6 w0 h3 t, M2 U, M- x o 示例:上联:电阻电容二极管 下联:代码逻辑单片机 横批:Bug 全无。 • Day 13 (2.22) 翻出【预言牌】:预测 2026 年的技术趋势。 o 示例:STM32N6是否会更火?车载芯片的下一个风口是什么?. d0 A& c: V6 ~; k8 C • Day 14 (2.23) 翻出【冲刺牌】:晒出你的开工福利是 / 开工状态。! D+ i1 [- R$ R# Q0 r o 示例:晒一下公司发的开工红包,或者回到工位准备 “大干一场” 的照片/ _* f+ U; [ l! g5 c3 } $ c4 H& P6 u( z1 A6 L6 y 活动规则: 1. 活动时间:2 月 10 日 - 2 月 23 日,每日话题当日有效。 2. 必须针对当日公布的话题进行回复,跑题回复不计入统计。 3. 欢迎大家在回帖中艾特好友一起来 “翻牌”,拉新成功双方均可获得额外600 积分。1 h9 y1 d% e- b5 y' ?1 Y3 R 4. 活动最终解释权归论坛所有。 ![]() 中奖名单:(已全部发出) 当日礼: 老牛洋车、北方、CM_STM32、A0dy、qintian0303、wenyangzeng、Xa__ 、lospring、patch1582、行色匆匆、HyunYong、lxl666、VegardCheng、网络孤客& t- v& s; F+ e5 g ; l" o! c0 A9 v- \ 全勤礼:/ c) {& [4 }& S1 x 北方、linghz、lospring、A0dy、CM_STM32、qintian03036 |( l- ]$ d0 I" T: b9 W) s6 ^5 G . ]# W' a' Z, ]% y; ~ 彩蛋礼:(最佳回复)& F0 r( c" F C" ?5 u 北方/ |6 d+ `9 R; E$ Y8 [0 l; ^ wenyangzeng ) B4 u4 h8 L% i 7 k, ], E0 ?$ ^& r( B 5 d3 E2 B" s% r( W# v3 [. `, ~) T * X: N% x+ V8 a, n1 V/ M# A |
文末有福利 | ST PowerGaN:引领电力能源领域高效化、小型化技术革新(下)
【免费评测】STM32H5 新品 ——NUCLEO H5E5ZJ 开发板测评活动
学习有奖 | 《STM32CubeMX2 实战课程》打卡学习,精通工程配置与代码移植
双节狂欢 | 中秋遇国庆,实战&互动&福利享不停!
#双节活动#STM32Cube for VS Code的开发经验
学习有奖 | 打卡《STM32 MCUBoot 安全启动与固件升级》课程,筑牢固件安全能力
把安全做进产品全生命周期|CRA 安全月三场系列直播重磅来袭
【粉丝福利】2026 ST中文论坛年中粉丝福利活动
STM32N6视频打卡学习
学习 ST 功率氮化镓GaN- 最佳能效解决方案
微信公众号
手机版
Day 12 (2.21) 翻出【对联牌】: 上联 :示波器显微观世 下联 :逻辑仪析万物机 横批:明察秋毫
我曾遇到过一个iiC通信Bug,现象是传感器模块在实验室测试时一切正常,但量产装机后约5%设备出现间歇性数据丢包。经排查,问题根源竟是PCB上SCL/SDA走线在连接器处形成了约2cm的环形环路,环路与外壳形成寄生电容,在特定湿度下产生pF级耦合电容,导致SCL上升沿被削顶。更奇葩的是,该Bug只在环境湿度>60%时触发,潮湿空气降低绝缘电阻,使寄生电容与iiC上拉电阻形成低通滤波,将SCL的1MHz信号3dB点压至800kHz。此时主控仍按1MHz时序采样,传感器因时钟畸变无法正确解析地址,引发NACK。而且还有一个问题,不放进壳子就会出现严重的干扰,也会导致传感器因时钟畸变无法正确解析地址,和ID。这就是我当年遇到的问题。
8 I3 a/ F; ^' S t6 l
《EEPROM emulation in STM32F0xx microcontrolles》一个BUG的修正) I6 i- `+ M: J7 W9 n5 r, L# S( A
STM32中文官网有一篇《EEPROM emulation in STM32F0xx microcontrolles》应用笔记。它为每一个要保存的数据预先设置一个16位虚拟地址,紧跟一个16位变量数据。当写入一个新数据时,只需重新写一次该数据的虚拟地址,接着写入新的数据即可。旧的数据作废,直到本页写满。读数据时搜索最后一次写入的地址,就能读出最新的数据。无需整页Flash都删除再写入,大大提高了Flash的读写寿命。& n" \1 j* H; {- q6 V8 D6 z1 M1 M% ^8 Q
有一个“STSW_STM32117_STM32F0xx微控制器中的EEPROM仿真”固件包可供评估。7 h+ I1 c7 w9 K( [1 _5 x
这个固件包演示了在仿真EEPROM的页里对VarData[0]、VarData[1]、VarData[2]写入数据,然后读出。
在NUCLEO开发板上运行演示代码进行评估验证,仿真EEPROM的数据写入读出都正确,放心移植到目标板了。
2 O: T/ [$ w- V1 N
不料,目标板调试过程中发现,只要断电,再上电后读出的数据就不是断电前写入的数据了。排除硬件故障的可能性后,接下来是判断是写出错还是读出错。这片STM32F051C6T6的Flash长度为32KB,我照抄演示文件中的代码,将第8和第9扇区设置用来仿真EEPROM,它的每页长为0x400,地址从0x08002000到0x080027FF。使用STM32 ST-LINK Utility工具读该扇区,Flash已经正确写入。判断故障在读操作。; i0 G8 ]7 \7 ~
先查阅STM32F0xx的eeprom.h,其中有:
3 a& `: n ?, I W) F
0 v; e9 v. v: s
1 p& c$ V+ H9 x- v2 ]0 F
这里定义:
]4 i) {5 t; A4 l1 r8 ]
这里地址的分配是这样安排的:; ?: H2 {, a+ T4 r9 z* K" V
uint32_t Address= 0x08001000, PageStartAddress = 0x08001000;6 P* U4 ]; u* V1 E& c/ w
这个EEPROM emulation in STM32F0xx是从EEPROM emulation in STM32F10xx移植过来的。于是查阅F1系列相关的文件,
STM32F10xx 的eeprom.h是这样的:; b* H" I- F w" x2 i e
5 D. {( L1 V$ N0 T( m0 z7 b2 j
+ \$ j1 `; H; a! A, c
$ l& |9 b+ |6 c1 s; T% y+ o; L% i
STM32F10xx的 eeprom.c是这样的:7 l3 P' ^4 O* I3 }3 |
ST工程师在移植F1仿真EEPROM到F0仿真EEPROM时,忘记把F0的eeprom.h和eeprom.c文件里关于仿真Flash页的地址修改一致:) e$ `. z" ]( p* C1 [
在F051写入的首地址是0x08002000,而读出的首地址则在0x08001000。从而导致读数据的地址不是写入数据的地址——读出错。
修改eeprom.c代码:
* Q6 ~# _" }! f; B* ?* z
故障排除。
那为何在用nucleo进行评估验证时却读写正常呢?下载有BUG的原代码进行跟踪调试可知:由于读地址与写地址不符,进入读函数后当判断地址不符,就执行return了。根本就没有读数据。而恰好在演示代码中写完Flash后数组变量没有清空,在读出错return后,数组变量里保留着写操作留下的残余,让你误以为读写正常。& f" C7 ~4 P+ j" e
【愿望牌】:今年前半年将STM32G474这块芯片弄明白,目前需要做个东西,选了这款芯片,上半年把这个任务完成,下半年学一学simulink建模,刚好我看stm32有simulink支持包,到时候可以试试纯simulink开发。
【愿望牌】:今年的目标是stm32g474和simulink建模,刚好我发现simulink中有stm32的支持包,我想最好能够使用simulink建模的方式开发stm32,一箭双雕,即学了stm32页学会了simulink建模
【愿望牌】:我的 2026 技术目标是
TouchGFX官方例程大都是在ST板卡硬件基础上建立的,它的TFT显示屏与我们实际使用的显示模块并不相同,我的2026技术目标之一是在一般的TFT液晶显示模块能成功运行TouchGFX代码,用到实际项目中。
【愿望牌】:今年必须吃透H7S78-DK的图形设计链接外围控制 和 334的boost-buck电路!
【愿望牌】:今年必须吃透 STM32H7 的 FMC 接口,外挂NAND FLASH,上半年就得干完(还是公司的项目😕 )。加油,努力干,冲就完了。
【愿望牌】:去年利用STM32F103C8T6核心板驱动MAX30102血氧心率传感器来制作家庭血氧检测仪的项目,从春天开始制作,打了几次PCB板,到盛夏炎热暂停,原准备入秋后继续,岂料去年秋季超热,暑热散去没几天迅即转冷,项目继续停摆。但愿能在今年酷热之前完成这个项目,不要扩充我的烂尾项目队伍😄 。
【愿望牌】2026年必须吃透 STM32Cube.AI!4 X* Z6 t9 A2 P( y# J) z' F: ?1 k
学习以及掌握部署不同的AI模型方法,以及学习MCU低功耗的优化方法!
【愿望牌】:今年必须把PD快充协议琢磨透,熟悉AI大模型的训练、推理、算法因子等技术应用。