嵌入式-STM32-CubeMX系列教程--首篇

#嵌入式# #STM32HAL库# #CubeMX#

嵌入式-STM32-CubeMX系列教程–首篇


1.自述

​ 首先简单介绍下我自己,目前大四在某公司从事嵌入式STM32单片机的开发实习工作,最终目
标是想转到Linux驱动方向,下一步准备往Linux应用方向学习,有从事相关行业的大佬或者学这
个专业的大佬求分享下学习计划啥的,感谢。

嗯,同时我也是稚晖君的忠实粉丝,大三期间复刻过稚晖君的HoloCubic开源项,感谢大佬的开源引领兴趣激发。

2.介绍

​ 言归正传,本教程作为自己学过的知识的一个归纳总结,CSDN上有大佬写的一部分非常详细,
我这里会有重复造车轮一部分,也会有一些其他功能的补充。
​ 唉,为了文档完整性不得已重复造车轮,求谅解。

—关于大佬的CSDN链接CSDN_Z小旋(在此十分感激大佬)

(https://blog.csdn.net/as480133937/article/details/99935090?spm=1001.2014.3001.5502)

3.安装教程

​ 工欲善其事,必先利其器,这个环节呢,给大家提供出CubeMX的安装链接,和我常用的开发环境用的软件。

  • 1.CubeMX(下载链接)

CubeMX下载地址
https://www.st.com/zh/development-tools/stm32cubemx.html#get-software
(注意哈,下载需要注册账号,是免费的,但是会给你发邮件,从邮件里戳进去才能下,比较麻烦。)
安装部分就正常安装就行

  • 2.Keil(下载链接)

官网选择MDK-arm直接下即可,激活需要参考下方链接激活教程,如有侵权,我会删除该文档
Keil下载地址
https://www.keil.com/download/product/
激活工具
链接:https://pan.baidu.com/s/1PkqEtZxsKGGknbmb1PH_WA
提取码:jolm
安装部分参见CSDN_Keil安装教程
在此不过多赘述。

  • 3.VScode(下载链接)

官网直接下载安装即可
VScode下载链接
这一部分,额,关于单片机开发,我比较喜欢在VScode环境下编程,毕竟VScode插件的代码补全
香的不要不要的,这里给大家推荐一下。

VScode需要用到MingGW

链接:https://pan.baidu.com/s/1LVnk5OA9V5IeapyEKre28g
提取码:xped

安装插件 1.C/C++ 2.Chinexe 3.Keil Assistant
4.Tabnine AI Autocomplete for Javascript, Python, Typescript, PHP, Go, Java, Ruby & more

配置Keil Assistant
嵌入式-STM32-CubeMX系列教程--首篇_第1张图片
选择复制扩展ID

嵌入式-STM32-CubeMX系列教程--首篇_第2张图片
找到Keil的快捷方式,右键选择打开文件夹所在位置,把路径复制过来。后边加上如上图所示\UV4.exe

配置MingGW
解压我分享的压缩包,解压完后里边的压缩包先不用管,打开MingGw安装软件参考以下链接安装
MingGW安装教程
如果没有安装成功,请打开我分享的文件中README文件
将文件中的压缩包解压,按照README提示操作即可。

4.CubeMX基础教程

​ 呼~终于到了CubeMX教程了哈!!!

  • 4.1CubeMX简介

我自己口头简介的哈,一种勾选式的stm32代码生成工具,有过stm32开发经验的都知道,以前要配置
个东西搞一个项目模板出来就费老半天劲。于是就有了CubeMX,嗯,又是真香定律,大大简化了开发流、
程和开发难度。

  • 4.2CubeMX基本使用
    点亮LED灯和简单的USART串口通信(后续我会继续出关于USART的详讲,今天主要让大家了解CubeMX为主)

打开CubeMX软件

嵌入式-STM32-CubeMX系列教程--首篇_第3张图片

新建工程

嵌入式-STM32-CubeMX系列教程--首篇_第4张图片

找到你手头有的STM32单片机,输入型号,根据上图提示操作。

嵌入式-STM32-CubeMX系列教程--首篇_第5张图片

一定要记得首先配置SYS文件,这是调试下载程序口

嵌入式-STM32-CubeMX系列教程--首篇_第6张图片

如果你用到的是外部晶振,要使能HSE
LSE是RTC时钟晶振

嵌入式-STM32-CubeMX系列教程--首篇_第7张图片
配置USART串口,今天不作详细讲解USART,后续会有独立一篇介绍
先按照图片提示操作

嵌入式-STM32-CubeMX系列教程--首篇_第8张图片

时钟树,怎么样!够直观吧!CubeMX真香系列,此处真的希望国产芯片外围开发环境能发展快些,加油!

嵌入式-STM32-CubeMX系列教程--首篇_第9张图片
gpio配置,注意gpio配置直接在芯片模型处右键,勾选output

嵌入式-STM32-CubeMX系列教程--首篇_第10张图片
这块按照图片提示操作就好,注意路径不要有中文
然后开发平台版本选对,若果你是高版本是可以兼容低版本的

嵌入式-STM32-CubeMX系列教程--首篇_第11张图片
配置完了,点击GENERATE CODE生成项目模板就好了

打开VScode
嵌入式-STM32-CubeMX系列教程--首篇_第12张图片
添加项目工程,直接打开项目工程文件,然后修改如图红框勾选图片。(注意下,这里是我毕设的一个空工程文件模板,因为之前的是在公司编辑的没考过来,有个类似的空模板,这儿就没新建新的CubeMX工程,这是后拷贝到一个有中文的路径下的,再次打开CubeMX工程文件时,生成文件会报错,备份记录可以,不建议在中文路径下开发。)

嵌入式-STM32-CubeMX系列教程--首篇_第13张图片
附上工程文件路径,供参考下吧

图片中代码

/* USER CODE BEGIN 2 */

uint8_t ch[] = "Hello world";

/* USER CODE END 2 */



/* Infinite loop */

/* USER CODE BEGIN WHILE */

while (1)

{

 /* USER CODE END WHILE */

 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_RESET);

 HAL_UART_Transmit(&huart1, (uint8_t *)ch, 11, 0x1000);

 HAL_Delay(1000);

 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_SET);

 HAL_UART_Transmit(&huart1, (uint8_t *)ch, 11, 0x1000);

 HAL_Delay(1000);

 /* USER CODE BEGIN 3 */

}

完结 更新速度较慢,可以参考以上大佬CSDN_Z小旋

你可能感兴趣的:(CubeMX,stm32,单片机,嵌入式)