From 92bb89124b5ed84238e063ad6b67c398a18bd656 Mon Sep 17 00:00:00 2001 From: Robofish <1683502971@qq.com> Date: Sat, 20 Sep 2025 01:28:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9led?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 6148 -> 10244 bytes app/__pycache__/__init__.cpython-39.pyc | Bin 137 -> 137 bytes app/about_interface.py | 2 +- assets/User_code/device/led.c | 43 +++++++++--------------- assets/User_code/device/led.h | 8 +++-- 5 files changed, 22 insertions(+), 31 deletions(-) diff --git a/.DS_Store b/.DS_Store index 3686aa09f3e5c3f610faae389485b5ae9c4ad072..3f40116982974d510bfc26a9b72c0678aa6582c3 100644 GIT binary patch literal 10244 zcmeHMO>o;p6n>keiJdf!^4FFYW?XV%rlurLXp&)|u9FOyzl1mwl1WKg1T7zLne3w zWZIW?Pof2dd8Uw_Df71&%-=gO&m8yDzJA@4o;fiwGWzjHX8sO^`CAW`5bDIzo{Y{B z0ucg-5x9h=Rw_`Hs#znre`il1xqjXkMVR?o#Vx1m@AAJWRt?>8hljsoEv;>*+B;$$ zv98#S+`6@ua|>?G$rS7rezjm(MzK*Z6c=@EE3XVpS*BaiP0bbtdP#%I>YKV*vbHi- z%`7>>Hs{@l#bfcja(;JrWHgmbj7+5Vl8N2P)NnE}c6DrTFCH5ldgi(L{Dx66t@k`P znNJneExG;vfzO*c+cYe*j25ol4kR4>G;+z2@VGDG5z>7`Pzm`YVbe-QAR|W!P@yZK zC=pr#JU;)=qvYJ~?&L@^F`63TK{7EmiXfRBmxAODCXRA!knkY#UDnl2Kjhgr4QGB( zlt$3UJG)MIpXpJ0`}%tadIty3o;yGI*oBK1@=AZPpl+0H9?VmgVc8j@rmd81y_BmK zRNX8ux!Sgy({F2erB70w*Ge}Jnih7d&>1*r5Z%3KYnmzgn_XLTG_Y`u2~py6KObG<+q$g&2}IU*(@y=Y`b8Vwam^9qfpe0Su@D@t&vV;xMPj15a>TH*;HvKJR`9jeJ3zV zmt=vZ2}n+rtoYLn(p!JXDht9zM1a%{?ibmZtw!6jhnyr?aO^n7GVwy-glfU&&}{LV zlKq(dUa0<6P(27cu4U%9vA#`yx1_HZ5VY? oP*3v;WZjdfp`6U00nz>+kBxs{2riIATd0%X0!91(fA5pt?~#}>(f|Me delta 149 zcmZn(XfcprU|?W$DortDU=RQ@Ie-{Mvv5r;6q~50$jG%ZU^g=(*JK_6&B>C2E{xkJ z8%h>(iC0&fm>B3NSXxfrASOMTMObCBq>#*H7Ad{SaZ+iM9i&q>%gXF$T+GhFA;=6g k4hRIefrKl_jnJ4qBc!KO}2Fl}2Fl 1.0f) { - return DEVICE_ERR_NULL; // 错误:占空比超出范围 - } - uint16_t pulse = (uint16_t)(duty_cycle * (float)UINT16_MAX); - BSP_PWM_Start(channel); - BSP_PWM_SetComp(channel, pulse); - return DEVICE_OK; + if (duty_cycle < 0.0f || duty_cycle > 1.0f) { + return DEVICE_ERR_NULL; // 错误:占空比超出范围 + } + uint16_t pulse = (uint16_t)(duty_cycle * (float)UINT16_MAX); + BSP_PWM_Start(channel); + BSP_PWM_SetComp(channel, pulse); + return DEVICE_OK; } -int8_t LED_GPIOSet(BSP_GPIO_t gpio,bool value) -{ - BSP_GPIO_WritePin(gpio,value); +int8_t DEVICE_LED_GPIO_Set(BSP_GPIO_t gpio, bool value) +{ + if (value) { + BSP_GPIO_WritePin(gpio, true); + } else { + BSP_GPIO_WritePin(gpio, false); + } return DEVICE_OK; } - - - - diff --git a/assets/User_code/device/led.h b/assets/User_code/device/led.h index 7765a57..04fdb54 100644 --- a/assets/User_code/device/led.h +++ b/assets/User_code/device/led.h @@ -14,14 +14,18 @@ extern "C" { /* Exported macro ----------------------------------------------------------- */ /* Exported types ----------------------------------------------------------- */ + typedef struct { BSP_GPIO_t gpio; BSP_PWM_Channel_t channel; } DEVICE_LED_t; + + extern DEVICE_LED_t LED_Map; /* Exported functions prototypes -------------------------------------------- */ -int8_t LED_PWMSet(BSP_PWM_Channel_t channel,float duty_cycle); -int8_t LED_GPIOSet(BSP_GPIO_t gpio,bool value); + + +int8_t BSP_LED_Set(char sign,DEVICE_LED_t ch,bool value,float duty_cycle); #ifdef __cplusplus }