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

分享STM32 cube MX 软件的心得

[复制链接]
〃聪聪哥哥 发布时间:2025-11-10 18:24

对于从事嵌入式开发的工程师来说,ST芯片无疑是使用范围最广泛,网上的资料也是最多的。而我们这也是使用ST芯片做一些产品,设计。下面和大家说下我最近使用STM32cube MX软件配置,使用的一些经历吧

一:软件版本迭代问题:

首先不得不说,这个软件的更新速度是真心的快,时不时的就会更新一些资料包,这里我们就需要注意些,对于软件包不更新是没有办法了,软件自动更新,不更新无法使用的,但是对于cube MX软件就没有必要对其频繁更新,更新之后,对于之前代码功能,会有一些影响。亲身体验,不要一味的追求最新的版本,使用自己熟悉的版本就好,保持hal,固件包的版本一致就可以。

二:配置使用问题

2.1 使能芯片的调试口

STM32cube MX软件默认是将调试口关闭的,所以最好是先将芯片的调试功能打开,防止下载程序之后,无法二次下载的问题。不过对于ST芯片也是支持串口下载的,就是更改boot0 和boot1的引脚电平就可以了。

2.2时钟树的配置

对于cpu的心脏来说,时钟树的配置无疑是重中之重的。系统时钟的来源,使用外部的高速晶振,还是内部的RC晶振,不同的单片机的支持的外部晶振最大频率是不一样的。所以我们需要根据芯片手册或者外部的晶振实际进行配置。为了使单片机可以实现最佳的性能,我们可以将主频设定在单片机的最大频率,而且ST的芯片并不支持超频使用,错误的时钟配置会导致程序运行出错。有次就是烧录了其他代码到开发板里面,导致程序直接跑飞,使用ST-link都无法二次下载。最后还是使用串口进行全面擦除,才可以将单片机复活。

2.3 NVIC的配置

对于优先级的配置,当我们使用某个外设模块时候,根据项目的实际需求,进行配置就可以,比如:使用定时器时候,记得使能定时器的中断,配置好优先级。使用串口就使能串口的中断。我这边一般是将中断向量分为设置为2个分组,即抢占优先级和响应优先级,也是从标准库到hal库的使用,当初的底层代码都是那样配置,具体也不太清楚,这样配置有没有好处,不知道有没有大佬解答一下。

2.4 代码生成注意事项:

最好是将每个模块功能配置成不同文件,这样代码看起来很整洁,也方便二次移植,要是把所有的代码都放在同一个C文件里面,开发起来是很费劲的,有次我就是把所有的配置都放在一个C文件里面,在编写的时候真的是很费劲。

三:使用问题:

相信在第一次使用cube 生成的工程中,添加用户代码时候,不知道从哪里添加。而且在开发的时候,不可能一次就把外设配置好,二次配置ico文件时候,为了防止用户代码被软件覆盖,就要求我们将用户代码一定要放在 用户代码区,即

  /* USER CODE BEGIN 2 */


  /* USER CODE END 2 */

总之,灵活使用cube MX软件会使用我们快速的开发ST芯片,不过就要求我们对ST产品有一定的了解。

收藏 评论0 发布时间:2025-11-10 18:24

举报

0个回答

所属标签

ST中文论坛活动

即日起开启活动话题入口,之后的活动统一都放在此处,欢迎大家的加入!


最新内容

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版