/************************************************************************************* * @File Name: mw_led.c * @brief: * @Version : 1.0 * @Create Date : 2024-12-02 * @Author : TianyunV1 email : 3026007337@qq.com * * @copyright Copyright (c) 2024 Tianyun Mountain * * modification history : * Date: Version: Author: Description: *************************************************************************************/ #include "mw_led.h" #include "bsp_gpio.h" #include /* led pin define */ // LED0 PC13 // #define IO_LED0_PORT (GPIOC) // #define IO_LED0_RCC_PERIPH (RCC_APB2Periph_GPIOC) // #define IO_LED0_PIN (GPIO_Pin_13) /* led middleware instantiation */ mw_led_t led_drv_buf[led_num]; /************************************************************************************* * @brief Get the obj of Led. * * @param[in/out] e_led_type * @return mw_led_t * @warning * @note *************************************************************************************/ mw_led_t mw_get_led_obj(led_type_enum e_led_type) { if(e_led_type >= led_num) { // invalid while(1); } return led_drv_buf[e_led_type]; } /* led1 基础函数包*/ void mw_led1_on(void) { bsp_led_on(LED1); } void mw_led1_off(void) { bsp_led_off(LED1); } /* led2 基础函数包 */ /************************************************************************************* * @brief Led driver installation. * * @warning * @note *************************************************************************************/ void mw_led_drv_init(void) { led_type_enum e_val; /* led0 installation */ led_drv_buf[Led0].led_drv = Led0; led_drv_buf[Led0].init = mw_led0_init; led_drv_buf[Led0].on = mw_led0_on; led_drv_buf[Led0].off = mw_led0_off; /* init all led peripherals */ for(e_val = Led0; e_val < led_num; e_val++) { led_drv_buf[e_val].init(); } }