迅为RK3568开发板篇OpenHarmony实操HDF驱动控制LED-接口函数

在一小节的代码中实现了一个简单的 LED 驱动,下面是对代码的详细解释:
包含的头文件如下所示:

宏定义如下所示:

数据结构如下所示:

g_LedDriverEntry 结构体是驱动入口结构体,如下所示,包含了驱动的版本号、模块名、绑定、初始化和释放函数。

HdfLedDriverInit 函数是驱动初始化函数。
参数:deviceObject(设备对象)。
流程:获取设备资源接口,读取设备配置中的 led_version 和 led_number(GPIO 号),并保存到全局配置变量中。

HdfLedDriverRelease:驱动释放函数。
参数:HdfDeviceObject(设备对象)。
流程:记录日志,表示驱动释放成功。

HdfLedDriverBind:绑定解析函数
参数:deviceObject(设备对象)。
流程:将 LED 驱动的服务对象赋值给设备对象的服务成员。

LedDriverDispatch:解析函数,解析应用层下发的命令,执行命令对应的操作,控制 led 灯的亮灭。
参数:client(客户端信息),cmdId(命令 ID),dataBuf(输入数据缓冲区),replyBuf(回复数据缓冲区)。
流程:检查设备对象的有效性,验证 LED 版本,根据命令 ID 读取数据并调用 LedGpioCtl控制 LED。

LedGpioCtl:控制指定 GPIO(LED)的高低电平,从而控制 LED 灯的开关。
参数:gpio(GPIO 号),mode(LED 模式,开或关)。
流程:设置 GPIO 为输出方向,根据 mode 设置 GPIO 的电平,最后记录日志。


更多内容可以关注:迅为RK3568开发板篇OpenHarmony

相关推荐
某林21244 分钟前
如何使用ROS 2与STM32进行串口通信,并实现通过键盘按键‘1’来控制LED灯开关
stm32·嵌入式硬件·计算机外设
hazy1k1 小时前
51单片机基础-PWM、频率与占空比
stm32·单片机·嵌入式硬件·51单片机
逆小舟2 小时前
【STM32】智能排队控制系统
stm32·单片机·嵌入式硬件
GilgameshJSS2 小时前
STM32H743-ARM例程38-UART-IAP
c语言·arm开发·stm32·单片机·嵌入式硬件
清风6666664 小时前
基于单片机的交流功率测量仪设计与实现
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
做一道光5 小时前
6、foc控制——IF控制
笔记·单片机·嵌入式硬件·电机控制
Jerry丶Li6 小时前
二十三、STM32的ADC(三)(ADC多通道)
stm32·单片机·嵌入式硬件
d111111111d7 小时前
STM32外设学习--TIM定时器--编码器接口(程序)
笔记·stm32·嵌入式硬件·学习
辰哥单片机设计7 小时前
STM32项目分享:水质检测系统(升级版)
stm32·单片机·嵌入式硬件
电子科技圈11 小时前
XMOS与飞腾云联袂以模块化方案大幅加速音频产品落地
经验分享·嵌入式硬件·mcu·自然语言处理·音视频·腾讯会议·游戏机