提交 1ec6e925 编写于 作者: O openharmony_ci 提交者: Gitee

!621 平台驱动ADC开发文档细节修改

Merge pull request !621 from tianyangpeng/master
...@@ -62,16 +62,16 @@ ADC模块适配的三个环节是配置属性文件,实例化驱动入口, ...@@ -62,16 +62,16 @@ ADC模块适配的三个环节是配置属性文件,实例化驱动入口,
- ADC驱动入口参考 - ADC驱动入口参考
> ADC模块这种类型的控制器会出现很多个设备挂接的情况,因而在HDF框架中首先会为这类型的设备创建一个管理器对象,并同时对外发布一个管理器服务来统一处理外部访问。这样,用户需要打开某个设备时,会先获取到管理器服务,然后管理器服务根据用户指定参数查找到指定设备。 > ADC模块这种类型的控制器会出现很多个设备挂接的情况,因而在HDF框架中首先会为这类型的设备创建一个管理器对象。这样,需要打开某个设备时,管理器对象会根据指定参数查找到指定设备。
> >
> ADC管理器服务的驱动由核心层实现,**厂商不需要关注这部分内容的实现,这个但在实现Init函数的时候需要调用核心层的AdcDeviceAdd函数,它会实现相应功能。** > ADC管理器的驱动由核心层实现,**厂商不需要关注这部分内容的实现,这个但在实现Init函数的时候需要调用核心层的AdcDeviceAdd函数,它会实现相应功能。**
```c ```c
static struct HdfDriverEntry g_hi35xxAdcDriverEntry = { static struct HdfDriverEntry g_hi35xxAdcDriverEntry = {
.moduleVersion = 1, .moduleVersion = 1,
.Init = Hi35xxAdcInit, .Init = Hi35xxAdcInit,
.Release = Hi35xxAdcRelease, .Release = Hi35xxAdcRelease,
.moduleName = "hi35xx_adc_driver",//【必要且与 HCS 里面的名字匹配】 .moduleName = "hi35xx_adc_driver",//【必要且与hcs文件里面的名字匹配】
}; };
HDF_INIT(g_hi35xxAdcDriverEntry); //调用HDF_INIT将驱动入口注册到HDF框架中 HDF_INIT(g_hi35xxAdcDriverEntry); //调用HDF_INIT将驱动入口注册到HDF框架中
...@@ -154,7 +154,7 @@ ADC模块适配的三个环节是配置属性文件,实例化驱动入口, ...@@ -154,7 +154,7 @@ ADC模块适配的三个环节是配置属性文件,实例化驱动入口,
} }
``` ```
3. 完成驱动入口注册之后,最后一步就是以核心层AdcDevice对象的初始化为核心,包括厂商自定义结构体(传递参数和数据),实例化AdcDevice成员AdcMethod(让用户可以通过接口来调用驱动底层函数),实现HdfDriverEntry成员函数(Bind,Init,Release) 3. 完成驱动入口注册之后,最后一步就是以核心层AdcDevice对象的初始化为核心,包括初始化厂商自定义结构体(传递参数和数据),实例化AdcDevice成员AdcMethod(让用户可以通过接口来调用驱动底层函数),实现HdfDriverEntry成员函数(Bind,Init,Release)
- 自定义结构体参考 - 自定义结构体参考
...@@ -218,7 +218,7 @@ ADC模块适配的三个环节是配置属性文件,实例化驱动入口, ...@@ -218,7 +218,7 @@ ADC模块适配的三个环节是配置属性文件,实例化驱动入口,
> |HDF_FAILURE |传输失败| > |HDF_FAILURE |传输失败|
> >
> **函数说明:** > **函数说明:**
> 初始化自定义结构体对象,初始化AdcDevice成员,调用核心层AdcDeviceAdd函数。 > 初始化自定义结构体对象,初始化AdcDevice成员,调用核心层AdcDeviceAdd函数。
```c ```c
static int32_t Hi35xxAdcInit(struct HdfDeviceObject *device) static int32_t Hi35xxAdcInit(struct HdfDeviceObject *device)
...@@ -226,7 +226,7 @@ ADC模块适配的三个环节是配置属性文件,实例化驱动入口, ...@@ -226,7 +226,7 @@ ADC模块适配的三个环节是配置属性文件,实例化驱动入口,
int32_t ret; int32_t ret;
struct DeviceResourceNode *childNode = NULL; struct DeviceResourceNode *childNode = NULL;
... ...
//遍历、解析adc_config.hcs中的所有配置节点,并分别进行初始化,需要调用 Hi35xxAdcParseInit函数 //遍历、解析adc_config.hcs中的所有配置节点,并分别调用Hi35xxAdcParseInit函数来初始化device
DEV_RES_NODE_FOR_EACH_CHILD_NODE(device->property, childNode) { DEV_RES_NODE_FOR_EACH_CHILD_NODE(device->property, childNode) {
ret = Hi35xxAdcParseInit(device, childNode);//函数定义见下 ret = Hi35xxAdcParseInit(device, childNode);//函数定义见下
... ...
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册