一、开发板
正点原子 潘多拉 STM32L475VET6
二、STM32CubeMX工程创建
1、打开 STM32CubeMX 软件;
2、根据 MCU 创建工程
根据威廉希尔官方网站
设计图,查找控制引脚
点击引脚,设置引脚为输出模式;
到此,代码就已经自动生成了,个人喜欢先关闭页面,从本地路径打开。
三、代码编写
项目路径
个人新建了 Hardware 文件夹 存放个人编写的代码;
记得要添加头文件路径
新添 New Group:Hardware,并添加文件;
还有一件事:别忘了添加 ----- 头文件 -----
led.h
#ifndef _LED_H
#define _LED_H
#include "main.h"
//RGB接口定义
#define LED_R(n) (n?HAL_GPIO_WritePin(GPIOE,GPIO_PIN_7,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOE,GPIO_PIN_7,GPIO_PIN_RESET))
#define LED_R_TogglePin HAL_GPIO_TogglePin(GPIOE,GPIO_PIN_7) //LED_R电平翻转
#define LED_G(n) (n?HAL_GPIO_WritePin(GPIOE,GPIO_PIN_8,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOE,GPIO_PIN_8,GPIO_PIN_RESET))
#define LED_G_TogglePin HAL_GPIO_TogglePin(GPIOE,GPIO_PIN_8) //LED_G电平翻转
#define LED_B(n) (n?HAL_GPIO_WritePin(GPIOE,GPIO_PIN_9,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOE,GPIO_PIN_9,GPIO_PIN_RESET))
#define LED_B_TogglePin HAL_GPIO_TogglePin(GPIOE,GPIO_PIN_9) //LED_B电平翻转
#endif
beep.h
#ifndef _BEEP_H
#define _BEEP_H
#include "stm32l4xx_hal.h"
//BEEP接口定义
#define BEEP(n) (n?HAL_GPIO_WritePin(GPIOB,GPIO_PIN_2,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOB,GPIO_PIN_2,GPIO_PIN_RESET))
#define BEEP_TogglePin HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_2) //BEEP电平翻转
#endif
main.h ( 部分)
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
BEEP(1);
LED_B(0);
LED_G(0);
LED_R(0);
HAL_Delay(500);
BEEP_TogglePin;
LED_B_TogglePin;
LED_G_TogglePin;
LED_R_TogglePin;
HAL_Delay(500);
}
/* USER CODE END 3 */
你的LED是否闪烁了呢;LED亮起时,蜂鸣器是否同时响呢。
一、开发板
正点原子 潘多拉 STM32L475VET6
二、STM32CubeMX工程创建
1、打开 STM32CubeMX 软件;
2、根据 MCU 创建工程
根据威廉希尔官方网站
设计图,查找控制引脚
点击引脚,设置引脚为输出模式;
到此,代码就已经自动生成了,个人喜欢先关闭页面,从本地路径打开。
三、代码编写
项目路径
个人新建了 Hardware 文件夹 存放个人编写的代码;
记得要添加头文件路径
新添 New Group:Hardware,并添加文件;
还有一件事:别忘了添加 ----- 头文件 -----
led.h
#ifndef _LED_H
#define _LED_H
#include "main.h"
//RGB接口定义
#define LED_R(n) (n?HAL_GPIO_WritePin(GPIOE,GPIO_PIN_7,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOE,GPIO_PIN_7,GPIO_PIN_RESET))
#define LED_R_TogglePin HAL_GPIO_TogglePin(GPIOE,GPIO_PIN_7) //LED_R电平翻转
#define LED_G(n) (n?HAL_GPIO_WritePin(GPIOE,GPIO_PIN_8,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOE,GPIO_PIN_8,GPIO_PIN_RESET))
#define LED_G_TogglePin HAL_GPIO_TogglePin(GPIOE,GPIO_PIN_8) //LED_G电平翻转
#define LED_B(n) (n?HAL_GPIO_WritePin(GPIOE,GPIO_PIN_9,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOE,GPIO_PIN_9,GPIO_PIN_RESET))
#define LED_B_TogglePin HAL_GPIO_TogglePin(GPIOE,GPIO_PIN_9) //LED_B电平翻转
#endif
beep.h
#ifndef _BEEP_H
#define _BEEP_H
#include "stm32l4xx_hal.h"
//BEEP接口定义
#define BEEP(n) (n?HAL_GPIO_WritePin(GPIOB,GPIO_PIN_2,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOB,GPIO_PIN_2,GPIO_PIN_RESET))
#define BEEP_TogglePin HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_2) //BEEP电平翻转
#endif
main.h ( 部分)
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
BEEP(1);
LED_B(0);
LED_G(0);
LED_R(0);
HAL_Delay(500);
BEEP_TogglePin;
LED_B_TogglePin;
LED_G_TogglePin;
LED_R_TogglePin;
HAL_Delay(500);
}
/* USER CODE END 3 */
你的LED是否闪烁了呢;LED亮起时,蜂鸣器是否同时响呢。
举报