stm32cubeMX使用HAL库点亮LED流水灯

一、实验工具
二、STM32CubeMX生成代码使用HAL库点亮流水灯
三、用寄存器方式实现点亮流水灯
四、总结
参考资料
一、搭建环境
SMT32CubeMX是ST公司推出的图形化工具,用于生成的工程的初始化代码。节约了搭建工程和配置芯片初始化的时间。我们只需要在生成的程序当中添加适当代码就可以实现一定功能,非常方便。
在使用SMT32CubeMX时要先安装jdk,因为SMT32CubeMX是通过Java实现的。
jdk官网下载链接:
https://www.oracle.com/java/technologies/javase-downloads.html
按照步骤安装好就可以了,然后下载SMT32CubeMX
下载地址:
https://www.st.com/en/development-tools/stm32cubemx.html
安装如图步骤安装好即可。

 

 安装好后还需要安装一个固件库,因为我使用的芯片是STM32F103系列的,所以选择STM32F1版本进行安装。安装完后环境就搭建好了。

二、创建工程

配置好环境后,打开软件,点击New Project创建工程,选择第一个选项。

 然后选择芯片型号,直接点击start project。

然后在上图的界面对芯片的管脚进行配置来实现流水灯

1.配置时钟

首先在system core中选择RCC,然后把HSE(外部高速时钟)设置为Crystal/Ceramic Resonator(晶振/陶瓷谐振器)

 接着,点击Clock Configuration,进入系统时钟树的设置,由于STM32的最高时钟为72MHz,所以按照图示设置即可。

2. GPIO配置

首先在system core中选择GPIO,然后选择引脚,我选择的GPIO Output引脚为A1,B1,C15,输出模式默认的是推挽输出,因此不需要做改动。

3. 配置调试接口

在System Core中选择SYS,Debug根据需求选择,选择Serial Wire完成配置。

4. 生成工程

最后完成后选择文件夹和工程名称,点击GENERATE CODE生成工程,生成的程序就在工程里面

2.3添加代码

打开生成的工程,然后在mian函数里面找到while循环,将下列代码复制到里面。

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_RESET);
HAL_Delay(500);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_SET);
HAL_Delay(500);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_RESET);
HAL_Delay(500);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_SET);
HAL_Delay(500);
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_RESET);
HAL_Delay(500);
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_SET);
HAL_Delay(500);
通过自己保存的路径找到keil文件

 

  打开并找到main.c中的int main()

 在while循环的/* USER CODE BEGIN 3 /和/ USER CODE END 3 */之间插入以下代码:

    HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_RESET);//PA4亮灯
    HAL_Delay(500);//延时0.5s
    HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_SET);//PA4熄灯
    HAL_Delay(500);//延时0.5s    
      
    HAL_GPIO_WritePin(GPIOB,GPIO_PIN_4,GPIO_PIN_RESET);//PB4亮灯
    HAL_Delay(500);//延时0.5s
    HAL_GPIO_WritePin(GPIOB,GPIO_PIN_4,GPIO_PIN_SET);//PB4熄灯
    HAL_Delay(500);//延时0.5s
        
    HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_RESET);//PC15亮灯
    HAL_Delay(500);//延时0.5s
    HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_SET);//PC15熄灯
    HAL_Delay(500);//延时0.5s

 点击魔法棒生成勾选生成hex文件

 编译运行程序

 

二。用仿真查看波形

1.点开魔法棒中Debug按照下图修改:

 设置完成后进行仿真点击逻辑分析仪

 选择要观察的引脚,点击Setup

添加要观察的引脚 

 波形图如下:

总结

CubeMX的功能非常强大,能合理的控制stm32芯片,比之前的的实验32之寄存器点亮流水灯的实验要方便一些(省略了很多步骤)总之我们要学会CubeMX的使用对我们以后的学业和工作有非常的的帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值