环境配置
芯片选型 STM32F407IGH6
配置时钟 12 168
模块 Led
引脚选择 比对原理图 可查看
设置为Out_Put输出 三色同时点亮 合为白色光
HAL_GPIO_WritePin(LED_R_GPIO_Port, LED_R_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOH, GPIO_PIN_10, GPIO_PIN_SET);
GPIOH->ODR=0xffff //需要配置 10 11 12引脚 清除该位的高字节 1111 1111 1000 1111
所表达效果相同 拉高同时为1
引脚电平设定
1.ODR 修改全针脚 电平
2.BSRR 修改单一针脚电平为高或低
GPIOD BSRR = (1<<2); 改为高电平
GPIOD BSRR = (1<<(2+16)); 改为低电平
3.BRR 修改单一针脚电平为低
延时函数
翻转电平函数
Led封装
根据该板 简单封装了Led点亮装置不同位置打入数字,完成不同颜色点亮
#include "led_app.h"
uint8_t ucled[3]={1,0,0};
void disp_led(void)
{
uint8_t i;
GPIOH->ODR=0xE3ff; //关闭灯光//红0绿1蓝2
for(i=0;i<3;i++)
{
if(ucled[i]>0)
{GPIOH->ODR+=(1<<(12-i));}
}
}
void led_proc(void)
{
disp_led();
HAL_Delay(200);
GPIOH->ODR=0xE3ff;
}