当前位置: 首页 > news >正文

温州自适应网站建设网站平台建设公司

温州自适应网站建设,网站平台建设公司,网站 备案 中国 名字,wordpress 商用授权目录 一、GPIO 概述二、GPIO模块相关API三、实例四、GPIO HDF驱动开发4.1、LED驱动程序(待续...)4.2、LED驱动配置(待续...) 坚持就有收获 轻量系统设备通常需要进行外设控制,例如温湿度数据的采集、灯开关的控制,因此在完成内核开发后,需要进…

在这里插入图片描述

目录

  • 一、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 概述

GPIO(General-purpose input/output)即通用型输入输出,用于控制芯片引脚的数字输入和数字输出。通常,GPIO 控制器通过分组的方式管理所有 GPIO 管脚,每组 GPIO 有一个或多个寄存器与之关联,通过读写寄存器完成对 GPIO 管脚的操作。

GPIO 是芯片上一根能完成多种功能的管脚,用户可以通过 GPIO 口和硬件进行数据交互(如UART),控制硬件工作(如 LED,蜂鸣器等),读取硬件的工作状态信号(如中断信号)等。

例如 GPIO_00 引脚复用表如下:(剩余引脚复用信息,请查看厂商芯片手册)。

管脚管脚名称类型驱动(mA)电压(V)描述
复用信号0:GPIO_00
复用信号1:UART1_TXD
复用信号2:SPI1_CLK
2GPIO_00I/O13.3/1.8复用信号3:PWM3_OUT
复用信号4:I2C_SDA
复用信号5:RTC_OSC_32K
复用信号6:RTC32K_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驱动配置(待续…)

坚持就有收获

在这里插入图片描述

http://www.yayakq.cn/news/973151/

相关文章:

  • 又快又好自助建站系统做特卖网站
  • 企业网站价格花蒙文网站建设情况汇报
  • 厦门制作网站哪家好htm网站制作
  • 用html做静态网站网站建设与管理logo
  • 如何查看网站名称电脑做apk的网站h5
  • python做网站视频教程毕业设计做网站用什么软件
  • 网站信息化建设建议和意见医院风格 wordpress
  • 想建网站兰州新站seo
  • 洛阳微信平台网站建设网页设计规范有哪些
  • 网站模板免费下载网站建设都有那些费用
  • 空间数据云网站wordpress与微信小程序
  • 网站建设基础摘要android开发技术
  • 论坛网站源码下载成品网站模板下载
  • 云指建站平台东莞网站建设哪里找
  • 网站到期不想续费wordpress主页访客记录
  • 宁波网站排名优化网络工程师证书有哪些
  • 如何用模板建站大门户网站
  • 网站首页制作怎么做的做免费外贸网站册域名
  • 外网设计灵感网站怎么停止网站
  • 网加做网站推广90设计网官网登录
  • 汉滨网站建设网站建设用户体验
  • 重庆模板网站建设怎么样wordpress 文章归档页面
  • 辽宁建设厅勘察设计网站怎样注册网站做销售
  • 龙岩市住房和城乡建设厅网站首页公众号建网站
  • 一个人做电商网站难吗淘宝客购物网站源码
  • 做招聘网站需要什么人员软件开发的职业规划1000
  • 医疗方面的网站建设深圳制作网站培训学校
  • 成都水高新区建设局官方网站网站内容的设计与实现
  • 多个域名绑定同一网站吗株洲网站优化哪家强
  • 郑州快速网站优化公司首选网站轮播动态图如何做