这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 【我踩过的那些坑】STM32cubeMX软件的使用过程中的“坑”

共1条 1/1 1 跳转至

【我踩过的那些坑】STM32cubeMX软件的使用过程中的“坑” 2

高工
2025-08-04 20:24:40   被打赏 50 分(兑奖)     打赏

    对于从事嵌入式开发的工程师来说,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产品有一定的了解。




关键词: STM32cube     软件     配置    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]