STM32F103 HAL 点灯

软件:keil 5,cubeMX生成初始化代码
硬件:STM32F103RCT6开发板
1.时钟配置
我的是开发板,使用的是外部晶振提供系统时钟
在这里插入图片描述
2.GPIO配置
选择PA8 和PD2为输出模式,因为只是点灯,所以配置都选择默认的
在这里插入图片描述
芯片引脚图
在这里插入图片描述
灯 接线图
在这里插入图片描述
可以看到LED0和LED1引脚被拉高,所以我们要想点亮LED需要给引脚一个低电平
3.代码
因为在配置GPIO时在user label中给两个引脚改名了,所以在代码中可以如下代替
在这里插入图片描述
while(1)
在这里插入图片描述
这里需要说明的是:
void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);
GPIO_TypeDef *GPIOx:选择哪一个GPIO口,如GPIOA,GPIOB…GPIOD
GPIO_Pin:选择GPIO口的哪一个引脚,如,GPIO_Pin_0,GPIO_Pin_1…GPIO_Pin_15
PinState:引脚的状态。引脚的状态无非就是高和低,此时我就认为对应的是SET和RESET,当我写上RESET后,程序出现了一个警告
warning: #188-D:enumerated type mixed with another
原因在于HAL_GPIO_WritePin()函数在声明的时候就规定了该如何写
在这里插入图片描述
因此此处应当是GPIO_PIN_RESET或者GPIO_PIN_SET
void HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
这个函数作用时反转GPIO口的某个引脚的状态(高–>低/低–>高)
最后加上延时函数 HAL_Delay(多少毫秒);就可以看到灯在闪烁了
最最后附上毫无作用的源码(Keil 5 打开)
https://download.csdn.net/download/liang_song/22862454

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值