迅为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

相关推荐
智者知已应修善业1 小时前
【51单片机数码管循环显示3位数字】2022-10-26
c语言·经验分享·笔记·嵌入式硬件·算法·51单片机
何以问天涯3 小时前
K210人脸识别系统
人工智能·python·嵌入式硬件·ai编程
嵌入式小李3 小时前
stm32项目(25)——基于stm32的植物生长箱环境监测系统
stm32·单片机·嵌入式硬件
青草地溪水旁4 小时前
socket编程中系统调用send()详细讲解
嵌入式硬件·socket·内核空间·用户空间
郭郭的柳柳在学FPGA6 小时前
STM32 APP跳转后无法进入中断
javascript·stm32·嵌入式硬件
小郝 小郝18 小时前
开启单片机
c语言·单片机·嵌入式硬件·学习·51单片机
玉~你还好吗21 小时前
【嵌入式电机控制#补充3】SDK电机控制台的功能
单片机·嵌入式硬件·嵌入式系统·电机控制·控制算法
酷飞飞1 天前
震动马达实现库函数版(STC8)
单片机·嵌入式硬件
zhmc1 天前
MCU编程中的临界资源及临界区
单片机·嵌入式硬件
智者知已应修善业1 天前
【51单片机2个按键控制流水灯转向】2022-10-25
c语言·经验分享·笔记·嵌入式硬件·51单片机