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();

posted on 2023-08-27 00:54  naive156  阅读(0)  评论(0编辑  收藏  举报  来源

导航