【STM32】STM32 CubeMx使用教程一--安装教程

一、STM32CubeMX 简介

 1、STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,目的就是为了方便开发者, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用,提高开发效率。STM32CubeMX几乎覆盖了STM32 全系列芯片。 

在CubeMX上,通过傻瓜化的操作便能实现相关配置,最终能够生成C语言代码,支持多种工具链,比如MDK、IAR For ARM、TrueStudio等  省去了我们配置各种外设的时间,大大的节省了时间

安装CubeMx一共需要三个

  •  JRE (Java Runtime Environment)  Java运行环境 运行JAVA程序所必须的环境的集合
  •  STM32CubeMX
  • HAL库   STM32 HAL固件库   ST官方推出的另一套库

1安装JRE

由于 STM32CubeMX 软件是基于 JAVA 环境运行的,所以需要安装 JRE (Java Runtime Environment)才能使用,   记得选择64位的安装

官网:  https://www.java.com/en/download/manual.jsp

BD云: https://pan.baidu.com/s/1rI_XrM2SAw-6Jbvj75SWpg?pwd=hwk7 提取: hwk7 

新lian接:

BD云: https://pan.baidu.com/s/1rj56i9HS4UAaE9yEaiIsaA?pwd=ack6 提取: ack6 

1点击安装

2 修改路径 点下一步

3 等待安装完成,关闭界面

2安装STM32CubeMX

 官网:www.st.com/stm32cubemx

BD云: https://pan.baidu.com/s/1Zs_FVscmGGx6zSzcZ0L2BA?pwd=tkiv 提取: tkiv 

 STM32CubeMX(V6.1.1)

BD云: https://pan.baidu.com/s/1yKgxQk2vxyqAy4CrGHZYzA?pwd=8m4m 提取: 8m4m

2022.3.18更新​​​​​​​ STM32CubeMX(V6.4.0)

同时CSDN下载地址:( 我设置的是0积分加免费下载

STM32CubeMx6.1.1版本+JRE安装包-嵌入式文档类资源-CSDN下载

 STM32CubeMx6.4.0版本+JRE安装包-嵌入式文档类资源-CSDN文库

官网下载:

在官网下载需要注册下ST官网账号,目前最新为5.3.0版本,不想在官网下可以在百度云盘下载,

1打开安装包 

2同意协议,下一步

3 勾选第一个即可,第二个选项是是否同意ST公司收集你的个人使用信息等。

4 点YES  这句话是安装本软件可能会与文件夹之前文件冲突,导致文件夹之前文件丢失 是否继续 

点继续即可

5 直接点NEXT,其他不用设置 之后开始安装

6 安装完成,点Done退出

3安装HAL库

什么是HAL固件库?

STM32 HAL固件库是Hardware Abstraction Layer的缩写,中文名称是:硬件抽象层。HAL库是ST公司为STM32的MCU最新推出的抽象层嵌入式软件,为更方便的实现跨STM32产品的最大可移植性。HAL库的推出,可以说ST也慢慢的抛弃了原来的标准固件库,这也使得很多老用户不满。但是HAL库推出的同时,也加入了很多第三方的中间件,有RTOS,USB,TCP / IP和图形等等。

和标准库对比起来,STM32的HAL库更加的抽象,ST最终的目的是要实现在STM32系列MCU之间无缝移植,甚至在其他MCU也能实现快速移植。

并且从16年开始,ST公司就逐渐停止了对标准固件库的更新,转而倾向于HAL固件库和 Low-layer底层库的更新,停止标准库更新,也就表示了以后使用STM32CubeMX配置HAL/LL库是主流配置环境;

HAL库,有在线安装、离线安装两种方式。

在线安装

打开安装好的 STM32CubeMX 软件  点上面的Help -> Manage embedded software packages 

会跳出来一个选择型号界面   勾选上你要安装的HAL库, 点击“Install Now” 直到安装成功。 如下图:

离线安装

离线安装需要下载安装包,这里提供百度云和ST官方下载方式           PS:建议在线安装  速度快,又稳定

官网:www.st.com/stm32cubemx

软件下载旁边一栏就是HAL库下载  下载对应芯片的安装包

百度云:https://pan.baidu.com/s/1dm83PbIsq7Vk9bAyFNinag 提取码: wjmd    

1直接导入安装包   Help -> Manage embedded software packages ->From Local  选择离线包即可

2直接解压

Help->Updater Settings...     可以选择HAL库安装包路径 ,默认在C盘 可以自行修改

解压到相对应路径即可

到此,恭喜你的STM32 CubeMx安装成功了。

基本的使用与新建工程点亮LED灯,请参看《STM32CubeMX教程二--基本使用(新建工程点亮LED灯)》

<think>嗯,用户想在Linux Shell脚本中实现100毫秒的延迟。我记得在Shell里通常用sleep命令,但默认是以秒为单位的。那要怎么处理毫秒级呢?首先,我需要确认sleep是否支持小数。比如sleep 0.1可能有效,但要看具体的Shell环境。比如在Bash中,可能没问题,但有些老版本或不同的Shell可能不支持。 另外,用户提供的引用里提到了usleep,比如引用[2]中的C程序,用usleep来实现毫秒级延迟,因为usleep的参数是微秒,所以100毫秒就是100000微秒。不过usleep命令可能已经被弃用了,现在可能要用sleep的浮点数形式或者用其他工具。 还有引用[4]提到使用date命令和sleep的组合,或者用usleep命令。可能需要检查系统是否支持这些命令。例如,使用sleep 0.1可能更简单,但需要确认兼容性。如果不行的话,可能需要调用其他工具,比如perl或者python的行命令来等待。 另外,用户提供的示例代码中有使用usleep的C程序,编译成xdelayms后使用,这可能是个可行的方法,但需要用户编译程序,可能不够方便。 所以总结下来,可能的解决方案有几种: 1. 使用sleep命令的小数形式,比如sleep 0.1,这在支持它的Shell中有效。 2. 使用usleep命令,传入100000微秒,但需要确认系统是否还有这个命令。 3. 使用其他语言的单行命令,比如perl的select undef, undef, undef, 0.1;或者python的time.sleep(0.1)。 4. 编译引用[2]中的C程序,生成可执行文件,然后在脚本中调用。 需要指出各个方法的适用环境和注意事项,比如不同Shell的兼容性,是否需要安装其他工具等。还要提醒用户检查他们的系统支持哪些方法,比如测试sleep是否接受小数,或者usleep是否存在。 另外,用户的问题可能是在编写脚本时遇到需要精确控制延迟的情况,比如性能测试或定时任务,所以需要考虑方法的精确度和可靠性。例如,usleep可能更精确,但依赖于外部工具,而sleep可能在某些情况下不够准确。 最后,应该列出几种方法,并说明优缺点,让用户根据自己的环境选择最合适的。</think>### 在Linux Shell脚本中实现100毫秒延迟的方法 #### 方法1:使用`sleep`命令的小数形式(推荐) 大多数现代Shell(如Bash 4.4+)支持浮点数参数: ```bash sleep 0.1 # 100毫秒=0.1秒 ``` **优点**:简洁易用,无需额外工具 **验证**:通过`man sleep`查看是否支持小数[^4] #### 方法2:调用`usleep`命令(需确认兼容性) `usleep`以微秒为单位(1秒=1000000微秒): ```bash usleep 100000 # 100毫秒=100000微秒 ``` **注意**:部分系统可能已弃用`usleep`,需安装`coreutils`包或使用替代方案[^2] #### 方法3:通过Perl/Python单行命令实现 ```bash # 使用Perl perl -e 'select(undef, undef, undef, 0.1)' # 使用Python python3 -c 'import time; time.sleep(0.1)' ``` **适用场景**:需要跨平台兼容性时 #### 方法4:编译C程序实现(高精度) 引用示例中的C代码: ```c #include <stdlib.h> #include <unistd.h> #include <stdio.h> int main(int argc,char*argv[]) { if(argc != 2) { printf("xdelayms:argc != 2\n"); return -1; } usleep(atoi(argv[1]) * 1000); return 0; } ``` 编译并使用: ```bash gcc xdelayms.c -o xdelayms ./xdelayms 100 # 100毫秒 ``` #### 验证延迟精度 可用`date`命令测试: ```bash start=$(date +%s.%N) sleep 0.1 end=$(date +%s.%N) echo "耗时: $(echo "$end - $start" | bc)秒" ```
评论 72
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Z小旋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值