|
【春节福利】每日一 “芯” 意,ST 论坛邀你 “马上” 翻好礼!
![]() & |9 ^6 ?9 N E/ Q% i/ C 每日心意奖:* e( b% D% P" P3 j2 f 当日礼:活动结束从参与话题互动的用户中,随机抽取 15名 送出 STM32开发板或精美礼品一份。 全勤礼:连续参与 14 天不同话题互动的用户,即可参与终极抽奖,赢取IQ耳机+60 元京东 E 卡(共6名)。 彩蛋礼:如果你的回复被管理员选中为 “最佳回复”,可直接获得荣耀手表一块 (共2名)
![]() 第一周:预热与自我回顾(2.10 - 2.16)' l& E& b3 f: y* q1 o% J • Day 1 (2.10) 翻出【愿望牌】:你的 2026 技术目标是? o 示例:【愿望牌】:今年必须吃透 STM32H7 的 MIPI DSI 接口,或者搞定 RT-Thread 系统移植! • Day 2 (2.11) 翻出【吐槽牌】:分享一个你遇到过的奇葩 Bug。0 o' n$ @( ~/ Y7 a2 B9 j2 @5 j$ A3 J o 示例:排查了三天的死机问题,最后发现是杜邦线接触不良 / 晶振没接地。3 {% w7 h0 Z' U+ M5 G* B0 c* W • Day 3 (2.12) 翻出【晒图牌】:晒出你的工作台一角。 o 示例:照片里可以是你的开发板、示波器,或者陪伴你多年的那杯 “程序员之水”。 • Day 4 (2.13) 翻出【回忆牌】:聊聊你与 ST 的 “第一次”。) v5 E0 j7 o3 V5 s) d o 示例:第一次使用的 ST 芯片是 STM32F103,还是大学时的课程设计?( ?( F* R' ^6 ]# Y7 v0 q3 F • Day 5 (2.14) 翻出【撒狗粮牌】:技术人的浪漫。" O% t% W- A9 o o 示例:秀一下给对象写的单片机爱心流水灯,或者收到的最硬核的礼物。 • Day 6 (2.15) 翻出【干货牌】:分享一个 ST 实用小技巧。 o 示例:分享一个 STMCubeIDE 的快捷键用法,或者 HAL 库的某个隐藏功能。; _- J$ y( i- w& y1 H3 F • Day 7 (2.16) 翻出【许愿牌】:向 ST 官方许个愿。, K" x$ o. F) h! W$ [ o 示例:希望 ST 出一款更便宜的 H7 开发板,或者希望库函数注释更详细一点。; h9 H* ~) A5 k* V0 e* o. F$ V . y6 Y6 b. b: h: z ; N8 w* I& q: X. A第二周:春节氛围与展望(2.17 - 2.23) • Day 8 (2.17) 翻出【年味牌】:开发板也过年。 o 示例:给你的 Nucleo 开发板戴个小帽子,或者拍一张开发板和年夜饭的合影。$ F' t5 i& j4 f5 Z+ v7 v • Day 9 (2.18) 翻出【电影牌】:推荐一部技术相关的电影 / 剧。/ V9 o V0 ?% V; w o 示例:《模仿游戏》、《黑客帝国》,或者最近很火的《三体》,并说说为什么推荐。 • Day 10 (2.19) 翻出【解压牌】:你是如何缓解 Debug 压力的? o 示例:Debug 不出来时,是去跑步、打游戏,还是对着天花板发呆? • Day 11 (2.20) 翻出【神器牌】:晒出你的必备开发工具。' g; F! i+ U8 H2 e! }: _9 C2 i& C o 示例:除了电脑和开发板,哪一个工具(如某款镊子、热风枪、调试软件)是你离不开的? • Day 12 (2.21) 翻出【对联牌】:写一副电子工程师的春联。 o 示例:上联:电阻电容二极管 下联:代码逻辑单片机 横批:Bug 全无。 • Day 13 (2.22) 翻出【预言牌】:预测 2026 年的技术趋势。 o 示例:STM32N6是否会更火?车载芯片的下一个风口是什么?7 {% K% s0 B/ w6 ? • Day 14 (2.23) 翻出【冲刺牌】:晒出你的开工福利是 / 开工状态。0 t# U) @; Z3 ]7 W- _( Y; c+ A" u o 示例:晒一下公司发的开工红包,或者回到工位准备 “大干一场” 的照片9 O j/ Z" S$ P0 g ! v7 p4 S# ^" }/ \' f. Z9 O6 N4 u 活动规则:1 h% A {. F! K7 z% i% ? 1. 活动时间:2 月 10 日 - 2 月 23 日,每日话题当日有效。 2. 必须针对当日公布的话题进行回复,跑题回复不计入统计。% j, U1 P% S; K& m( p3 I" h6 C 3. 欢迎大家在回帖中艾特好友一起来 “翻牌”,拉新成功双方均可获得额外600 积分。 4. 活动最终解释权归论坛所有。7 E- O, `+ W! e6 [ - ?' L9 _8 s1 M% i! C $ H5 U' I4 ^; S, ]8 d9 q" l) {$ j* ]中奖名单:(已全部发出) 当日礼:( g' G: t& ~5 e/ d1 w$ F5 g2 ^: | 老牛洋车、北方、CM_STM32、A0dy、qintian0303、wenyangzeng、Xa__ 、lospring、patch1582、行色匆匆、HyunYong、lxl666、VegardCheng、网络孤客 全勤礼:" y9 p1 n0 x8 L" e5 v, R 北方、linghz、lospring、A0dy、CM_STM32、qintian03033 {/ }5 n C: W 彩蛋礼:(最佳回复) 北方 wenyangzeng $ k: k; n; i0 W) W) o 9 l2 t, w3 w' ^* L" ] - S/ D! m9 I" U T) a' g |
学习有奖 | 《STM32CubeMX2 实战课程》打卡学习,精通工程配置与代码移植
学习有奖 | 打卡《STM32 MCUBoot 安全启动与固件升级》课程,筑牢固件安全能力
把安全做进产品全生命周期|CRA 安全月三场系列直播重磅来袭
【粉丝福利】2026 ST中文论坛年中粉丝福利活动
STM32N6视频打卡学习
学习 ST 功率氮化镓GaN- 最佳能效解决方案
ST Aliro标准“全家桶”的硬件、软件解决方案
五一宠粉活动奖品展示——氮化镓充电器
劳动最光荣 | 五一致敬,ST宠粉福利大放送!
【免费试用】STM32U3 新品 ——NUCLEO-U3C5ZI-Q 开发板测评活动
微信公众号
手机版
Day 12 (2.21) 翻出【对联牌】: 上联 :示波器显微观世 下联 :逻辑仪析万物机 横批:明察秋毫
我曾遇到过一个iiC通信Bug,现象是传感器模块在实验室测试时一切正常,但量产装机后约5%设备出现间歇性数据丢包。经排查,问题根源竟是PCB上SCL/SDA走线在连接器处形成了约2cm的环形环路,环路与外壳形成寄生电容,在特定湿度下产生pF级耦合电容,导致SCL上升沿被削顶。更奇葩的是,该Bug只在环境湿度>60%时触发,潮湿空气降低绝缘电阻,使寄生电容与iiC上拉电阻形成低通滤波,将SCL的1MHz信号3dB点压至800kHz。此时主控仍按1MHz时序采样,传感器因时钟畸变无法正确解析地址,引发NACK。而且还有一个问题,不放进壳子就会出现严重的干扰,也会导致传感器因时钟畸变无法正确解析地址,和ID。这就是我当年遇到的问题。
《EEPROM emulation in STM32F0xx microcontrolles》一个BUG的修正. o8 x; s' S& {; A" c( e3 Q& C' D# C
STM32中文官网有一篇《EEPROM emulation in STM32F0xx microcontrolles》应用笔记。它为每一个要保存的数据预先设置一个16位虚拟地址,紧跟一个16位变量数据。当写入一个新数据时,只需重新写一次该数据的虚拟地址,接着写入新的数据即可。旧的数据作废,直到本页写满。读数据时搜索最后一次写入的地址,就能读出最新的数据。无需整页Flash都删除再写入,大大提高了Flash的读写寿命。
有一个“STSW_STM32117_STM32F0xx微控制器中的EEPROM仿真”固件包可供评估。
这个固件包演示了在仿真EEPROM的页里对VarData[0]、VarData[1]、VarData[2]写入数据,然后读出。
) Z4 V4 y, J u0 Z# q
在NUCLEO开发板上运行演示代码进行评估验证,仿真EEPROM的数据写入读出都正确,放心移植到目标板了。
' V7 C+ [) ~# E' l; _. n2 |
不料,目标板调试过程中发现,只要断电,再上电后读出的数据就不是断电前写入的数据了。排除硬件故障的可能性后,接下来是判断是写出错还是读出错。这片STM32F051C6T6的Flash长度为32KB,我照抄演示文件中的代码,将第8和第9扇区设置用来仿真EEPROM,它的每页长为0x400,地址从0x08002000到0x080027FF。使用STM32 ST-LINK Utility工具读该扇区,Flash已经正确写入。判断故障在读操作。
先查阅STM32F0xx的eeprom.h,其中有:, k, H( g) v z- B- T
! Y5 p9 Y% G9 l, i; P- Q: E
* b% Y ?6 A/ D% f% t; N& K4 n
这里定义:
( w( k; J9 H7 G% A ^6 ]/ P
1 w5 Z& z% J& |" E1 J* X( e
这里地址的分配是这样安排的:
uint32_t Address= 0x08001000, PageStartAddress = 0x08001000;8 X3 T4 T- ~8 ~
这个EEPROM emulation in STM32F0xx是从EEPROM emulation in STM32F10xx移植过来的。于是查阅F1系列相关的文件,
STM32F10xx 的eeprom.h是这样的:
! y1 C5 {7 @" E- {' k# F
5 P: e" t1 R# M8 O: d
, b6 [3 d: Y- g' q( x/ R
STM32F10xx的 eeprom.c是这样的:
ST工程师在移植F1仿真EEPROM到F0仿真EEPROM时,忘记把F0的eeprom.h和eeprom.c文件里关于仿真Flash页的地址修改一致:6 n/ O9 G2 C$ J3 }* g! T, Q
在F051写入的首地址是0x08002000,而读出的首地址则在0x08001000。从而导致读数据的地址不是写入数据的地址——读出错。1 u+ z) o" H4 k8 v g
修改eeprom.c代码:) y6 M- e4 ?: t2 Z0 b& `
2 ^) C3 I" b) t9 Y
* }5 m) Y. U6 v# {2 g: B
故障排除。
那为何在用nucleo进行评估验证时却读写正常呢?下载有BUG的原代码进行跟踪调试可知:由于读地址与写地址不符,进入读函数后当判断地址不符,就执行return了。根本就没有读数据。而恰好在演示代码中写完Flash后数组变量没有清空,在读出错return后,数组变量里保留着写操作留下的残余,让你误以为读写正常。
【愿望牌】:今年前半年将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!% y- y1 m. s# s* k* z7 c$ G
学习以及掌握部署不同的AI模型方法,以及学习MCU低功耗的优化方法!
【愿望牌】:今年必须把PD快充协议琢磨透,熟悉AI大模型的训练、推理、算法因子等技术应用。