2)led.h头文件
- /**
- ******************************** STM32L4x *********************************
- * @文件名称: led.h
- * @修改作者: 闲人Ne
- * @库版本号: V3.5.0
- * @工程版本: V1.0.0
- * @开发日期: 2020年12月07日
- * @摘要简述: led.h头文件
- ******************************************************************************/
- /*----------------------------------------------------------------------------
- * @更新日志:
- * @无
- * ---------------------------------------------------------------------------*/
- #ifndef __LED_H
- #define __LED_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电平翻转
- /* 函数申明 ------------------------------------------------------------------*/
- void MX_LED_Init(void);
- #endif /* __LED_H */
- /****** Copyright (C)2020 闲人Ne. All Rights Reserved ****** END OF FILE *******/
复制代码
3)led.c源文件
- /**
- ******************************** STM32L4x *********************************
- * @文件名称: led.c
- * @修改作者: 闲人Ne
- * @库版本号: V3.5.0
- * @工程版本: V1.0.0
- * @开发日期: 2020年12月07日
- * @摘要简述: led.c源文件
- ******************************************************************************/
- /*----------------------------------------------------------------------------
- * @更新日志:
- * @无
- * ---------------------------------------------------------------------------*/
- /* Includes ------------------------------------------------------------------*/
- #include "led.h"
- #include "stm32l4xx_hal.h"
- /************************************************
- 函数名称:MX_LED_Init()
- 函数功能:LED管脚配置
- 入口参数:无
- 返回参数:无
- *************************************************/
- void MX_LED_Init(void)
- {
- GPIO_InitTypeDef GPIO_InitStruct;
- /* GPIO Ports Clock Enable */
- __HAL_RCC_GPIOH_CLK_ENABLE();
- __HAL_RCC_GPIOE_CLK_ENABLE();
- /*Configure GPIO pin Output Level */
- HAL_GPIO_WritePin(GPIOE, GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9, GPIO_PIN_SET);
- /*Configure GPIO pins : PE7 PE8 PE9 */
- GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9;
- GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
- GPIO_InitStruct.Pull = GPIO_PULLUP;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
- HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
- }
- /****** Copyright (C)2020 闲人Ne. All Rights Reserved ****** END OF FILE *******/
复制代码
备注:在用STM32CubeMX生成代码的时候,main函数里的SystemClock_Config()子函数里少一行代码 RCC_OscInitStruct.PLL.PLLM = 1,导致前期在main函数里设延迟时间,总感觉与实际时间不符。补上这行代码后就好了。
|