2.在 GPIO界面下:配置GPIO的参数,选择PC8~PC15的输出为高电平(高电平,上电时灯灭)PD2(高电平使能,低电平关上)
3.在工程文件夹下的bsp文件夹中新建led.c和led.h两个文件
#ifndef __LED_H_ //条件编译:主要目的是防止头文件的重复包含和编译
#define __LED_H_
#include "main.h"
void lED_Disp(unsigned char light);
#endif
6.led.c源文件编写
#include "led.c"
void lED_Disp(unsigned char light)
{
//关闭所有的灯光PC8~PC9
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|
GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15,GPIO_PIN_SET);
//打开参数选中要点亮的灯
HAL_GPIO_WritePin(GPIOC,light<<8,GPIO_PIN_RESET);
// 控制led灯亮的寄存器有16位,但只有高8位是有效的
// 而light为8位,默认存储到低八位,需要移位至高8位
//打开锁存器PD2
//打开锁存器PD2
HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_SET);
//关闭锁存器PD2
HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_RESET);
}
//只添加模块相关的基本测试代码
#include "led.h"
int main(void)
{
while(1)
{ //测试代码
lED_Disp(0x01);
HAL_Delay(500);
lED_Disp(0x00);
HAL_Delay(500);
}
}