课程介绍


1.   目标

学会调用HarmonyOS gpio接口的驱动,包括设置gpio口的方向(输入还是输出),设定gpio管脚的值,使能gpio口中断,中断服务函数的使用等。

 

本调试在sample_test demo的基础上进行,sample_test涉及到的知识点,本文不再赘述。

2.   设置83号管脚为输出方向:

image.png

管脚的输出方向总计用三种类型,输入、输出和错误。

image.png

3.   设置管脚中断服务函数,并使能中断

image.png

HarmonyOSgpio管脚中断有五种类型,如下:

image.png

在中断服务函数里面,实现变量加2,通过输出这个变量的值,我们就可以判定程序有没有进入中断服务函数。

image.png

4.   触发端口中断,进入中断服务函数

image.png

首先,清零需要观察的变量g_irqCnt,为判定测试结果做准备。

其次,如果83号端口目前状态为High,那就设为low,并等待200ms;如果83号口目前状态为low,那就设置为High,并等待200ms。为中断函数的触发创造条件。

我们程序中,管脚RISINGFALLING都会进入中断,如果程序执行正确,那么一定会进入中断服务程序。

5.   通过用户态指令调用驱动程序

image.png

通过Dispatch函数会根据用户态发来的指令类型,调用响应的驱动程序。

6.   运行成功示意图

image.png

从运行结果来看,g_irqCnt的值变成了2,中断服务函数执行了。gpio驱动代码测试成功。



注:本文档或视频中所有的图片,代码截图仅供参考,具体以HarmonyOS官网发布的最新内容为准。


讲师介绍

张飞  张飞实战电子专家

258171学员

张飞老师,专家级工程师、张飞电子创始人,2005年起从事电子研发,在上海某研究所学习近一年。2008年至今在大型外资企业担任首席工程师、专家,研发企业未来3至5年的产品。还担任过课长、经理等职务。视频教程将自己这十多年从事一线研发的经验和心得与大家分享,带领大家一起学习如何设计和优化电路。

取消
大家的提问
    选择优惠券
    ×
    20
    完善资料,
    赚取积分