HDF驱动框架的API(3)

引言

为了方便查阅,本文汇集了我在学习鸿蒙驱动子系统过程中,曾经遇到过的HDF驱动框架提供的API。 同时,还加入了一些对这些API的个人理解和解读。

另外,大家也可以去阅读这些API的源码或官方文档:

https://device.harmonyos.com/cn/docs/documentation/apiref/core-0000001054718073  


前一篇: 《HDF驱动框架的API》(2)

三、枚举类型

3.1 DeviceClass

1、官方文档

https://device.harmonyos.com/cn/docs/documentation/apiref/core-0000001054718073#ZH-CN_TOPIC_0000001054718073__gab54f9e79649505f668d6d276fb447a2b

2、定义

drivers/framework/include/core/hdf_io_service_if.h

HDF驱动框架的API(3)_第1张图片

3.2 DeviceResourceType

1、官方文档

https://device.harmonyos.com/cn/docs/develop/apiref/driverconfig-0000001055678040#ZH-CN_TOPIC_0000001055678040__ga09c9585a5d95c79fd5ee4bd8863ba66a

2、定义

drivers/framework/include/config/device_resource_if.h

HDF驱动框架的API(3)_第2张图片

3.3 DevicePreload

驱动的加载方式。

1、官方文档

https://device.harmonyos.com/cn/docs/develop/apiref/core-0000001054718073#ZH-CN_TOPIC_0000001054718073__section550733843112509

2、定义

drivers/framework/include/core/hdf_device_desc.h

在这里插入图片描述

3.4 ServicePolicy

驱动对外发布服务的策略。

1、官方文档

https://device.harmonyos.com/cn/docs/develop/apiref/core-0000001054718073#ZH-CN_TOPIC_0000001054718073__section550733843112509

2、定义

drivers/framework/include/core/hdf_device_desc.h

HDF驱动框架的API(3)_第3张图片

四、宏定义

4.1 HDF_INIT

功能:向HDF注册驱动。

1、官方文档

https://device.harmonyos.com/cn/docs/develop/apiref/core-0000001054718073#ZH-CN_TOPIC_0000001054718073__ga99831072fdca13e3c423a14fa6a83c34

2、定义

drivers/framework/include/core/hdf_device_desc.h

HDF驱动框架的API(3)_第4张图片

drivers/framework/core/common/include/host/hdf_device_section.h

在这里插入图片描述

4.2 HDF_LOGE

功能:以error级别输出日志信息。

1、官方文档

https://device.harmonyos.com/cn/docs/develop/apiref/driverutils-0000001055518036#ZH-CN_TOPIC_0000001055518036__ga78a7d97e44c6dac52a5d9d849c1a65d4

2、定义

drivers/framework/include/utils/hdf_log.h

五、GPIO驱动的接口

GPIO驱动属于基于HDF驱动框架开发的一种平台设备驱动,它提供一套标准的接口供应用程序或其它设备驱动使用。平台设备一般指SOC的片上外设,比如:GPIO、IIC、UART、RTC等。

5.1 接口函数

5.1.1 GpioSetDir

设置GPIO的方向。第1个参数gpio:GPIO端口的编号;第2个参数val:GPIO的方向(见5.2.2节)。

int32_t GpioWrite(uint16_t gpio, uint16_t val)

1、头文件

drivers/framework/include/platform/gpio_if.h

2、官方文档

https://device.harmonyos.com/cn/docs/develop/apiref/gpio-0000001054918103#ZH-CN_TOPIC_0000001054918103__ga5c628216d209fa76c69eca69856bc0ae

5.1.2 GpioWrite

写GPIO。第1个参数gpio:GPIO端口的编号;第2个参数val:GPIO要输出的值(见5.2.1节)。

int32_t GpioWrite(uint16_t gpio, uint16_t val)

1、头文件

drivers/framework/include/platform/gpio_if.h

2、官方文档

https://device.harmonyos.com/cn/docs/documentation/apiref/gpio-0000001054918103#ZH-CN_TOPIC_0000001054918103__ga7dee8242ba9335b3217635ba64764bc4

5.2 枚举类型

5.2.1 GpioValue

drivers/framework/include/platform/gpio_if.h

HDF驱动框架的API(3)_第5张图片

5.2.2 GpioDirType

drivers/framework/include/platform/gpio_if.h

HDF驱动框架的API(3)_第6张图片

你可能感兴趣的:(鸿蒙驱动子系统,鸿蒙)