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

相关推荐
蓬荜生灰19 小时前
STM32(13)-- 位带操作
stm32·单片机·嵌入式硬件
哎呦 你干嘛~1 天前
plc单片机485通讯
单片机·嵌入式硬件
szxinmai主板定制专家1 天前
基于 PC 的控制技术+ethercat+linux实时系统,助力追踪标签规模化生产,支持国产化
arm开发·人工智能·嵌入式硬件·yolo·fpga开发
泡泡糖的中文规格书1 天前
【硬件设计】LM358DR2G中文文档深度解读:高质量翻译与芯片特性全解析
嵌入式硬件·规格说明书·电路设计·运放·中文翻译·datasheet
czwxkn1 天前
2STM32(stdl)GPIO输入
stm32·单片机·嵌入式硬件
码农三叔1 天前
(9-1)电源管理与能源系统:电池选择与安全
人工智能·嵌入式硬件·安全·机器人·能源·人形机器人
染予1 天前
13.AD软件操作:原理图如何导入PCB及导入常见错误
嵌入式硬件
小莞尔1 天前
【51单片机】【protues仿真】 基于51单片机波形发生器系统
c语言·单片机·嵌入式硬件·物联网·51单片机
码农三叔1 天前
(9-2-01)电源管理与能源系统:能耗分析与功率管理(1)步行能耗估计
人工智能·嵌入式硬件·机器人·人机交互·能源·人形机器人