一、安装STM32CubeMX
1.以管理员身份运行并安装
2.勾选"I accept the terms of this license agreement",接着选择 Next
3.选择安装位置(注意:安装位置不要出现中文)
4.安装完成
二、使用HAL库点亮LED灯
(一)LED灯闪烁原理
(二)CubeMX创建项目
1、选择芯片
2、SYS配置
3、RCC选择
4、端口输出设置
5、Clock Configuration设置
6、Project Manager设置
7、创建并用keil打开
(三)代码实现
在main.c中修改以下代码
while (1)
{
//写循环执行的代码
//第一步LED 亮 PC0 设置为0
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_0,GPIO_PIN_RESET);
//第二步 延时
HAL_Delay(1000);
//第三步LED 灭
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_0,GPIO_PIN_SET);
//第四步 延时
HAL_Delay(1000);
}
将程序烧录
(四)实验结果
(五)Keil波形图
三、中断控制LED灯
(一)CubeMX创建项目
1、引脚设置
2、EXTI配置
3、SYS配置
4、GPIO配置
(二)主要代码
1.在keil文件中找到stm32f103_it.c
2.找到EXTI9_5_IRQHandler这个函数,选中HAL_GPIO_EXTI_IRQHandler这个语句按F12跳到该函数
3.往下找到HAL_GPIO_EXTI_Callback这个函数
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin){
if(GPIO_Pin == SWITCH_Pin){
//获取B5的电位
GPIO_PinState pinState=HAL_GPIO_ReadPin(SWITCH_GPIO_Port,SWITCH_Pin);
//低电位
if(pinState==GPIO_PIN_RESET)
HAL_GPIO_WritePin(LED_A4_GPIO_Port,LED_A4_Pin,GPIO_PIN_RESET);
//把A4变为低电位
//高电位
else
HAL_GPIO_WritePin(LED_A4_GPIO_Port,LED_A4_Pin,GPIO_PIN_SET);
//把A4变为高电位
}
}
将程序烧录进去
(三)实验结果
参考博客
https://blog.csdn.net/weixin_56102526/article/details/120877293
https://blog.csdn.net/weixin_56102526/article/details/120877293