如何知道网站是否备案过,外贸网站免费建站,百度地图网页版,申请域名目录 一、GPIO 概述二、GPIO模块相关API三、实例四、GPIO HDF驱动开发4.1、LED驱动程序(待续...)4.2、LED驱动配置(待续...) 坚持就有收获 轻量系统设备通常需要进行外设控制#xff0c;例如温湿度数据的采集、灯开关的控制#xff0c;因此在完成内核开发后#xff0c;需要进… 目录 一、GPIO 概述二、GPIO模块相关API三、实例四、GPIO HDF驱动开发4.1、LED驱动程序(待续...)4.2、LED驱动配置(待续...) 坚持就有收获 轻量系统设备通常需要进行外设控制例如温湿度数据的采集、灯开关的控制因此在完成内核开发后需要进行设备驱动的开发。
主要Hi3861芯片介绍如何运用 IoT 硬件子系统进行轻量系统设备的驱动开发。
在轻量系统的联接模组中智能家居远程控制能力的实现最终是通过 IoT 硬件子系统部件发送指令到特定的家居设备。
Hi3861芯片提供设备操作接口有GPIO、PWM、UART、I2C、SPI、ADC、WATCHDOG、FLASH、LOWPOWER、RESET 等。
一、GPIO 概述
GPIOGeneral-purpose input/output即通用型输入输出用于控制芯片引脚的数字输入和数字输出。通常GPIO 控制器通过分组的方式管理所有 GPIO 管脚每组 GPIO 有一个或多个寄存器与之关联通过读写寄存器完成对 GPIO 管脚的操作。
GPIO 是芯片上一根能完成多种功能的管脚用户可以通过 GPIO 口和硬件进行数据交互如UART控制硬件工作如 LED蜂鸣器等读取硬件的工作状态信号如中断信号等。
例如 GPIO_00 引脚复用表如下剩余引脚复用信息请查看厂商芯片手册。
管脚管脚名称类型驱动(mA)电压(V)描述复用信号0GPIO_00复用信号1UART1_TXD复用信号2SPI1_CLK2GPIO_00I/O13.3/1.8复用信号3PWM3_OUT复用信号4I2C_SDA复用信号5RTC_OSC_32K复用信号6RTC32K_XOUT复用信号7保留
GPIO 接口定义了操作 GPIO 管脚的标准方法集合包括
设置管脚方向方向可以是输入或者输出(暂不支持高阻态)读写管脚电平值电平值可以是低电平或高电平设置管脚中断服务函数设置一个管脚的中断响应函数以及中断触发方式使能和禁止管脚中断禁止或使能管脚中断
GPIO 引脚复用流程如下 二、GPIO模块相关API
头文件路径base/iothardware/peripheral/interfaces/inner_api/iot_gpio.h
接口函数描述unsigned int IoTGpioInit(unsigned int id)确定GPIO管脚号unsigned int IoTGpioSetDir(unsigned int id, IotGpioDir dir)设置管脚方向unsigned int IoTGpioSetOutputVal(unsigned int id, IotGpioValue val)设置管脚电平unsigned int IoTGpioRegisterIsrFunc(unsigned int id, IotGpioIntType intType, IotGpioIntPolarity intPolarity, GpioIsrCallbackFunc func, char *arg)设置管脚中断
三、实例
//代码功能定义 GPIO_00 号口为输出模式且输出高电平。
#include iot_gpio.h
IoTGpioInit(GPIO_00);
IoTGpioSetDir(GPIO_00 , IOT_GPIO_DIR_OUT);
IoTGpioSetOutputVal(GPIO_00 , IOT_GPIO_VALUE0);
while (1) {IoTGpioSetOutputVal(LED_GPIO, IOT_GPIO_VALUE1);sleep(1);IoTGpioSetOutputVal(LED_GPIO, IOT_GPIO_VALUE0);sleep(1);
}四、GPIO HDF驱动开发
在HDF框架中同类型设备对象较多时可能同时存在十几个同类型配置器若采用独立服务模式则需要配置更多的设备节点且相关服务会占据更多的内存资源。相反采用统一服务模式可以使用一个设备服务作为管理器统一处理所有同类型对象的外部访问这会在配置文件中有所体现实现便捷管理和节约资源的目的。GPIO模块采用统一服务模式如图1所示。
在统一模式下所有的控制器都被核心层统一管理并由核心层统一发布一个服务供接口层因此这种模式下驱动无需再为每个控制器发布服务。
GPIO模块各分层作用
接口层提供操作GPIO管脚的标准方法。
核心层提供GPIO管脚资源匹配GPIO管脚控制器的添加、移除以及管理的能力通过钩子函数与适配层交互供芯片厂家快速接入HDF框架。
适配层由驱动适配者将钩子函数的功能实例化实现与硬件相关的具体功能。 4.1、LED驱动程序(待续…)
4.2、LED驱动配置(待续…)
坚持就有收获