LOADING

加载过慢请开启缓存 浏览器默认开启

openharmony用ubuntu编写中断

openharmony用ubuntu编写中断

代码下载

第一部分:代码结构

软件部分目录结构

gpio_input_demo
├─ BUILD.gn
└─gpio_input_int.c

我们打开文件
代码打开gpio_input_int.c

不同SOC芯片由于其GPIO控制器型号、参数、以及控制器驱动的不同,GPIO管脚号的换算方式不一样。

主要函数

头文件

#include "iot_gpio.h"   // OpenHarmony HAL API:IoT硬件设备操作接口-GPIO
#include "hi_io.h"      // 海思Pegasus SDK API:IoT硬件设备操作接口-IO

注册中断函数

IoTGpioRegisterIsrFunc(引脚,触发模式,触发方法,中断处理函数,NULL);                         

引脚:
开发板上要用的GPIO引脚号

触发模式:
电平触发:IOT_INT_TYPE_LEVEL==0
边沿触发触发:IOT_INT_TYPE_EDGE

触发方法:
如果是电平触发的情况下:
0为低电平触发,1为高电平触发
如果是边沿触发的情况下:
0为下降沿触发,1为上升沿触发
参数IOT_GPIO_EDGE_FALL_LEVEL_LOW==0,IOT_GPIO_EDGE_RISE_LEVEL_HIGH==1

中断处理函数:
如果创建的函数为 void XXX(){}
那么就填XXX
那么中断的时候就会执行XXX里面的代码

NULL:
中断处理函数的参数