1-W806-LED
main.c
#include <stdio.h>
#include "wm_hal.h"
#include "LED_bsp.h"
void Error_Handler(void);
int main(void)
{
SystemClock_Config(CPU_CLK_160M);
HAL_Init();
LED_Init();
printf("System config finish\r\n");
HAL_Delay(10);
printf("enter main\r\n");
HAL_Delay(10);
while (1)
{
LED_Test();
}
}
void Error_Handler(void)
{
while (1)
{
}
}
void assert_failed(uint8_t *file, uint32_t line)
{
printf("Wrong parameters value: file %s on line %d\r\n", file, line);
}
LED_bsp.c
#include "LED_bsp.h"
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
__HAL_RCC_GPIO_CLK_ENABLE();
GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2, GPIO_PIN_SET);
}
//LED流水灯测试
void LED_Test()
{
LED0_L;
HAL_Delay(100);
LED0_H;
HAL_Delay(100);
LED1_L;
HAL_Delay(100);
LED1_H;
HAL_Delay(100);
LED2_L;
HAL_Delay(100);
LED2_H;
HAL_Delay(100);
}
LED_bsp.h
#include "wm_hal.h"
#define LED0_L HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET)
#define LED0_H HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET)
#define LED1_L HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_RESET)
#define LED1_H HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_SET)
#define LED2_L HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_RESET)
#define LED2_H HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_SET)
void LED_Init(void);
void LED_Test();