ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

STM32CubeMX安装搭建环境、编译烧写流水灯

2021-10-24 17:05:56  阅读:339  来源: 互联网

标签:HAL PIN STM32CubeMX Delay 编译 点击 烧写 GPIO


STM32CubeMX安装搭建环境、编译烧写流水灯

文章目录

一、STM32CubeMX的环境搭建

(一)安装STM32CubeMX

官网下载:https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html
安装过程

以管理员身份运行并安装SetupSTM32CubeMX-6.3.0-Win
在这里插入图片描述
勾选I accept the terms…
在这里插入图片描述
两项都勾选
在这里插入图片描述
设置安装目录,点击Next后会出现一个窗口,点击确定就行
在这里插入图片描述
在这里插入图片描述
等待安装,完成
在这里插入图片描述

(二)固件库的安装

点击 Help 然后点击Manage embedded software paclages
在这里插入图片描述
找到STM32F1,选择最新版,然后点击Install Now
在这里插入图片描述

二、用STM32CubeMX生成工程文件

打开STM32CubeMX,点击New Project建立新工程
在这里插入图片描述

(一)选择MCU和封装

这里我选的是STM32F103C8,然后选择又下脚的文件双击
在这里插入图片描述

(二)配置时钟

首先我们来配置时钟,RCC 设置,选择 HSE(外部高速时钟) 为 Crystal/Ceramic Resonator(晶振/陶瓷谐振器)
在这里插入图片描述
选择 Clock Configuration,配置系统时钟 SYSCLK 为 72MHz
修改 HCLK 的值为 72 后,输入回车,软件会自动修改所有配置
在这里插入图片描述

(三)配置调试模式

SYS 设置,选择 Debug 为 Serial Wire
在这里插入图片描述

(四)配置GPIO

GPIO 设置,在右边图中找到 LED 灯对应引脚,选择 GPIO_Output,这里我选的PB7、PB8、PB9为LED的端口
在这里插入图片描述
点击User给管脚命名
在这里插入图片描述

(五)代码生成

在project manager下输入项目名和项目路径,选择应用的 IDE 开发环境 MDK-ARM V5
在这里插入图片描述
点击GENERATE CODE生成
在这里插入图片描述

三、填写main函数

在生成文件后,点击打开项目。
打开文件我们会发现main函数里只有一些初始化,并没有主要的程序,while(1)里面是空的,这时候需要我们来添加代码 。
在这里插入图片描述
下面添加三个流水灯交替闪烁的代码,代码如下:

        HAL_GPIO_WritePin(GPIOB,GPIO_PIN_7,GPIO_PIN_SET);//将PB7设置为高电平
		HAL_Delay(100);\\延时
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_7,GPIO_PIN_RESET);//将PB7设置为低电平
		HAL_Delay(100);\\延时
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_SET);//将PB8设置为高电平
		HAL_Delay(100);\\延时
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_RESET);//将PB8设置为低电平
		HAL_Delay(100);\\延时
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET);//将PB9设置为高电平
		HAL_Delay(100);\\延时
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_RESET);//将PB9设置为低电平
		HAL_Delay(100);\\延时

自动生成的代码是由HAL库版本的代码,这里添加的代码是其中的函数
延时函数(HAL_Delay)
函数原型: void HAL_Delay (__IO uint32_t Delay)
参数说明:Delay表示所要延时的时间大小,单位是毫秒
写管脚函数(HAL_GPIO_WritePin)
函数原型:void HAL_GPIO_WritePin (GPIO_TypeDef * GPIOx, uint16_t
GPIO_Pin, GPIO_PinState PinState)
参数说明:
GPIOx: 管脚组(x的取值为A~G)
GPIO_Pin: 管脚编号(x的取值为0~15)
PinState: 管脚的状态(取值为GPIO_BIT_RESET表示0, GPIO_BIT_SET表示1)

四、编译与仿真运行

点击编译,没有错误
在这里插入图片描述
下面进行输出波形图仿真,首先进行一些设置
Target下的设置如图
在这里插入图片描述
Debug下更改如下:

Dialog.DLL下改为DARMSTM.DLL,Parameter下改为-pSTM32F103C8
在这里插入图片描述
配置好后,点击Debug

在这里插入图片描述
点击下图所示按键
在这里插入图片描述
点击左上角setup,弹出对话框,添加需要查看的波形的的引脚,点击右上角的添加输入

输入

GPIOB_IDR.7
GPIOB_IDR.8
GPIOB_IDR.9

信号输出类型选择bit
在这里插入图片描述
点击左上角的run开始仿真运行
在这里插入图片描述
运行效果如下,说明代码正确
在这里插入图片描述

五、烧写与硬件实现

用FlyMcu进行烧写
在这里插入图片描述
运行效果如图
在这里插入图片描述

六、总结

通过本次实验,了解了使用STM32CUBEMX生成工程,这更简单。不用去查表了。同时做的过程也更轻松,错误更少。

七、参考文献

https://blog.csdn.net/Mouer__/article/details/120872654?spm=1001.2014.3001.5501
https://blog.csdn.net/m0_58414679/article/details/120903629?spm=1001.2014.3001.5501

标签:HAL,PIN,STM32CubeMX,Delay,编译,点击,烧写,GPIO
来源: https://blog.csdn.net/weixin_49012924/article/details/120933093

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有