你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于STM32-CubeMX经验分享

[复制链接]
攻城狮Melo 发布时间:2023-4-2 13:36
2、CubeMX使用的HAL库中宏函数都是使用两个下划线加上全大写字母构成,因此程序中看见双下划线全大写的函数基本都是宏函数。普通宏替换则没有双下划线,但是是由全大写字母组成。
3 ^3 G- X& x/ T  D3 i. l! M: `* z5 b. \
* s% ]" i. ]3 ~' y0 k; @  _$ g/ `
3、CubeMX生成的工程需要修改仿真器件,默认是使用ST_link,同时在Utilities选项卡中选择下载后执行,否则下载完需要复位才能执行,并且选择正确的芯片FLASH型号。  K' Z* j1 D5 d

1 Z2 v' Z5 ?; t3 k1 }

9 s6 n9 G$ M1 B' }- \4、CubeMX生成的工程中更有很多msp函数,msp的全称是MCU Specific Package,没太明白这个的意思,但是在实际程序中是用来初始化外设对应管脚、时钟等的函数,通常HAL库中都有一个msp init和msp deinit函数,但是这些函数都加上了前缀:__weak,这个前缀的解释引用
( a& U! f) q2 }1 A0 u# g+ B1 O__weak是一个宏,和__packed是同一种东西都是gcc的扩展属性:8 _' o( c& w! h. ?' ^
#define __packed __attribute__((packed))# G3 C: |5 B$ E, n
#define __weak __attribute__((weak))" ?2 j/ Q& \9 T$ z; F
如果这个关键字用在函数定义上面,一般情况下和一般函数没有两样。但是当有一个同名函数但是不带__weak被定义时,所有对这个函数的调用都是指向后者(不带__weak那个), 如果有两个一样的函数都用了__weak,那么真正调用那个,就要看连接器了。7 V: X* q- q4 {8 o. [! `
" L; S8 z: ?+ y: A
————————————————
+ I  n9 s+ c. K0 {; j& {1 F版权声明:哐哐哐 Quan
  G, _+ v5 b3 T" F4 n
8 z. @. D, I" [如有侵权请联系删除
2 x( X* r9 k1 ^* Y+ x
6 U& }5 k4 \- v
/ X' x2 S) I6 K8 h$ @4 K
赞 收藏 评论0 发布时间:2023-4-2 13:36

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版