STM32 HAL库开发(二)- GPIO点灯及程序调试

拿到开发板第一件事,就是点灯。
使用外设前,除了外设本身的配置,还需要配置外设的时钟。

配置GPIO

打开STM32CubeIDE软件后,再打开xxx.ioc,此文件是一个可视化配置文件。
在这里插入图片描述
开发板A0口接一个二极管LED1,引脚图这里配置为输出模式,然后右侧GPIO的配置选项菜单,可以配置 默认输出电平,输出模式,上拉下拉,速率及用户标签
在这里插入图片描述
在这里插入图片描述
如果配置了用户标签,会在main.h头文件里,自动定义映射规则,方便编程。
在这里插入图片描述

配置时钟

比如PD0和PD1接一个8MHZ的外部晶振,这里可以直接在引脚图里选择并配置RCC_OSC_IN 和 RCC_OSC_OUT 。
外接32.768KHZ外部晶振也是一样,配置RCC_OSC32_IN 和 RCC_OSC32_OUT。

32.768khz的晶振是一种标准的石英晶体振荡器,其频率正好是2的15次方,即32768赫兹。 这个频率比较特殊,它是16位计数器的时钟周期,因此在电路设计中常常作为分频器的分频参数来使用。

在这里插入图片描述

在这里插入图片描述
跟GPIO一样,这里选了引脚后,需要在右侧详细配置菜单里,继续配置HSE或者LSE是否启用。
在这里插入图片描述
配置完成后,ctrl + s ,会自动弹窗询问是否生成程序。
程序生成后,可以在main.c文件中找到时钟配置。
这里有一个Error_Handler的回调函数,一般是HAL接口调用失败了执行这个回调。
我们可以去实现下Error_Handler,方便对程序状态的监控。比如我这里加了一个简单的OLED打印。
在这里插入图片描述
在这里插入图片描述

GPIOA是属于APB2上的外设,所以配置APB2外设时钟,比如需要频率为72MHZ,需要配置此条线路上分频和倍频的参数。
比如 /1 就是除1 , x9就是乘9 ,这里按图配置很直观,软件会自动计算。
在这里插入图片描述

软件下载和调试

软件下载运行:绿色三角
在这里插入图片描述

下载成功:
在这里插入图片描述

这里如果下载失败,需要排查问题:
| 问题 | 解决 |

  1. 检查调试器驱动是否安装。
  2. 检查调试器的接线。
  3. 可能是程序关闭了调试接口,先将boot0 = 1,boot1= 0,复位;然后boot0 = 0,boot1 = 0, 复位, 再下载。
    BOOT1=x BOOT0=0 从用户闪存启动,这是正常的工作模式。
    BOOT1=0 BOOT0=1 从系统存储器启动,这种模式启动的程序功能由厂家设置。
    BOOT1=1 BOOT0=1 从内置SRAM启动,这种模式可以用于调试。

软件调试运行:绿色爬虫
在这里插入图片描述
这个跟一般的IDE调试按钮差不多,能断点,能单步,够用了。
在这里插入图片描述

右侧可以查看当前寄存器的值,比如gpio的输入输出值。
在这里插入图片描述

  • 11
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值