使用STM32CubeMX实现流水灯
作者:互联网
文章目录
一、安装STM32CubeMX
(一)下载并安装
下载地址:https://www.st.com/en/development-tools/stm32cubemx.html
-
以管理员身份运行并安装 SetupSTM32CubeMX-6.3.0.exe ,进入下面这个界面后,点击Next
-
点击"I accept the terms of this license agreement",接着选择Next
-
选择I have read and understand…,然后点击next
-
选择安装位置,点击next,然后点击yes
-
选择Next
-
安装完成后,选择Next
-
点击Done就完成安装
(二)安装固件库
运行STM32CubeMX 6.3,选择 Help->Magne
安装固件库
二、流水灯实现
运行STM32CubeMX 6.3,选择File下的New Project
:
选择自己的芯片类型(我这里用的是stm32f103c8t6),选择下边的item
,然后Start Project
:
选择System Core下的SYS
,将Debug设置为Serial Wire
:
1. 配置时钟
将RCC 下的HSE 设置为Crystal/Ceramic Resonator
:
在Clock Configuration 下,选择PLLCLK
:
2. GPIO设置
选择GPIO,依次将B0、C15、A0
设置为GPIO_Output:
将三个引脚的输出默认改为高电平High
:
3. 项目配置
在Project Manager下的Project中设置工程名称和工程路径,并选择编译软件:
在Code Generate中选择第一个,然后Generate Code,即生成代码:
打开项目中的main.c文件,并在while 循环中写入以下代码:
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET); // 灯1亮
HAL_Delay(1000); // 延时1s
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET); // 灯1灭
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_15, GPIO_PIN_RESET); // 灯2亮
HAL_Delay(1000); // 延时1s
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_15, GPIO_PIN_SET); // 灯2灭
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0, GPIO_PIN_RESET); // 灯3亮
HAL_Delay(1000); // 延时1s
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0, GPIO_PIN_SET); // 灯3灭
将电路连接好,然后编译代码,并烧录。结果如下:
三、波形图观察
- 在Keil 里面打开魔术棒,设置Debug
- 点击调试
- 选择逻辑分析仪
- 点击Setup Logic Analy,添加要观察的引脚:
- 输入管脚,Display Type选择
Bit
- 运行程序,即可看到波形图
总结
通过HAL 库实现流水灯实验,也是更加里了解了GPIO 管脚的配置。并且通过观察波形,可以检测设置的周期是否正确。
参考
https://blog.csdn.net/qq_43279579/article/details/112213196
https://blog.csdn.net/qq_43279579/article/details/112233696
https://www.cnblogs.com/young-dalong/p/14728012.html
标签:HAL,PIN,实现,WritePin,STM32CubeMX,选择,流水,GPIO,安装 来源: https://blog.csdn.net/m0_59416558/article/details/120829728