华为鸿蒙设备开发教程笔记驱动子系统开发笔记

学习资料:

https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXTX003+Self-paced/courseware/859b86b40fa541a4951f97bdc8c18937/fe5db016525c44b3bad913cce4575005/

本节内容: 

GPIO相关API
·如何操作GPIO点亮LED灯

何读取GPIO电平状态
主要步骤:

1.GPIO API介绍
2.查看LED对应的GPIO引脚

3.操作GPIO点亮LED
4.GPIO扩展实验

gpio api介绍:

wifiiot_gpio.h接口简介

这个.h中包含声明GPIO接口函数,这些功能用于初始化GPIO。

查看LED对应的GPIO引脚

LED对应的GPIO引脚是GPIO2通过控制GPIO2输出的的电平信号来实现LED灯的闪烁。
·高电平时点亮LED灯。

。低电平时熄灭LED灯。

 

 打开“B1_basic_led_blink”工程的led_example.c文件:可在代码中查看实现LED以1S的频率闪烁代码

代码实现首先引入头文件

然后初始化

设置输出模式,与引脚号码。

具体亮暗规则代码如下:

api位于gpio.h

 

功能选择如图所示:

我们根据需求来选择

对代码进行根据要求修改之后

最后来编译烧录代码来测试代码现象。步骤和之前一样,再此不做过多赘述。

  

输出结果如下

总结:

1、了解GPIO输出相关API
2、掌握如何操作GPIO输出高电平点亮LED灯

3、如何读取GPIO当前的设置
本节课内容较为复杂,且教程较为快速,有许多点没有仔细解释,希望在接下来的课程可以再次进行讲解:

HarmonyOS驱动子系统开发—GPIO中断

主要内容

GPIO中断相关API
如何使用GPIO中断相关API

如何通过GPIO中断判断按键状态

主要步骤:

1.GPIO中断API介绍
2.查看按键对应的GPIO引脚

3.GPIO中断读取按键状态

4.GPIO中断扩展实验

GPIO中断API介绍
wifiiot_gpio.h接口简介:
wifiiot_gpio.h中包含声明GPIO中断相关函数。

查看按键对应的GPIO引脚
 F1和F2按键对应的GPIO引脚是分别是GPIO11和GPIO12,通过检测GPIO的电平信号来判断按键的状态。

 

 代码实现分析

首先初始化led,然后根据需求设置led灯代码功能。

 根据电频变化来设置触发条件,如电频触发,或者边缘触发。

根据代码,以及自己所需的来设置。

代码修改后,进行代码烧录编译,

烧录成功后,我们修改代码进行扩展。首先进行一些打印,来使得现象更加明显

 

然后将中断类型进行修改。改为上升延中断。

修改之后进行代码编译烧录。可以看到结果如图说是,符合预期:

一直按下不会打印,只有在改变时才会打印。

总结:

1、了解GPIO中断APl
2、掌握如何通过按键去控制LED

3、如何改变GPIO中断的模式

本节在上节课的知识基础上进行讲解。拓展实验也让我们对知识有了更直观的了解。
HarmonyOS驱动子系统开发—PWM输出

本节主要内容:

、. PWM相关APl
.如何操作GPIO输出PWM
.如何使用PWM改变LED灯亮度

PWM API介绍
wifiiot_pwm.h接口简介:
这个wifiiot_pwm.h中包含声明PWM接口函数。

查看LED对应的GPIO引脚
 LED对应的GPIO引脚是GPIO2通过控制GPIO2输出的的电平信号来实现LED灯的闪烁。
·高电平时点亮LED灯。

·低电平时熄灭LED灯。

 

 

 输出PWM改变LED亮度

 打开“B3_basic_pwm_led”工程的
pwm_example.c文件,可在代码中查看实玛输出不同占空比的PWM来改变LED的亮度码

 

 

 分析实现代码。通过改变pwm来改变灯泡的亮度,即pwm占玶比。

代码

 同样也要进行初始化,和端口,这些步骤与之前相同、

代码修改之后,检查无误后进行代码编译烧录。

最后我们得到最终结果

可以看到开发班上led灯亮度进行了亮度呼吸的效果。

总结:

1、了解PWM输出相关API
2、掌握如何操作GPIO输出PWM改变LED亮度
本节课我们可以清楚·的看到代码在板子上运行的实际效果,灯的变化这些都是可以由代码进行改变的,使得学习兴趣进行了极大改变。

HarmonyOS驱动子系统开发-ADC采样
主要内容

ADC相关APl
·如何使用ADC相关函数读取GPIO的电压值

步骤

1. ADC API介绍
2.查看ADC对应的GPIO引脚

3.ADC读取GPIO的电压值

ADC API介绍

wifiiot_adc.h接口简介:
这个wifiiot_adc.h中包含声明ADC接口函数。

 AdcRead (WiflotAdcChanellndex channel,unsigned short * data,WifilotAdcEquModelsel equModel WifilotAdcCurBais curBais,unsigned short rstCnt )

 查看ADC对应的GPIO引脚

本案例将使用板载用户按键F1来模拟GPIO口电压的变化。GPIO_11对应的是ADC Channel 5 ,所以需要编写软件去读取ADC Channel 5的电压。

 ADC读取GPIO的电压值

 打开“B4_basic_adc”工程的
adc_example.c文件,可在代码中查看实现读取ADC通道5的电压值的代码

 代码编译解释运行:

 该代码的意义与功能如下:

 编译烧录之后结果如图所示:

按住f1

总结

1、了解ADC输出相关API
2、掌握如何使用ADC相关函数读取GPIO的电压值

 本节课时间较短,内容也较少,但知识仍需要时间进行消化.

HarmonyOS驱动子系统开发-12C总线

主要内容:

l2C相关APl
如何使用I2C相关API
.如何通过I2C读写NFC芯片

主要步骤:

1.I2C API介绍
2.查看NFC的l2C对应的GPIO引脚

3.l2C读写NFC芯片

I2C API介绍:

wifiiot_i2c.h接口简介:
wifiiot_i2c.h中包含声明I2C接口函数。

wifiiot_i2c_ex.h接口简介:
wifiot_i2c_ex.h中包含声明扩展I2C接口函数。
 

 查看NFC的I2C对应的GPIO引脚

NFC芯片的I2C对应的GPIO引脚是分别是GPIOO和GPIO1,所以需要编写软件使用GPIO_0和GPIO_1产生l2C信号去控制NFC芯片。

 

 i2C读写NFC芯片

打开“B5_basic_i2c_nfc”工程的
i2c_example.c文件,可在代码中查看实现NCF读写的代码

 

代码解读价绍:

 

 

操作代码:

 

代码分别为·: 地址,参数,结构体、

 

 代码修改后进行代码编译烧录,可以看到带有nfc的手机可以读取到代码中的数据。

· 1、了解I2C相关API
· 2、掌握如何操作I2C总线读写NFC芯片
本节课知识点多,并且理解起来由一定难度,对于我来说,有许多地方没有弄明白,总结由很多欠佳的地方。

HarmonyOS驱动子系统开发-UART读写

主要内容;

. UART相关API
。如何使用UART相关API
。如何通过UART进行数据收发
主要步骤;

1.UART API介绍
2.查看UART1对应的GPIO引脚3.UART读写数据
UART API介绍
wifiiot_uart.h接口简介:
wifiiot_uart.h中包含声明UART接口函数。

查看UART1对应的GPIO引脚
 UART1对应的GPIO引脚是分别是GPIO5和GPIO6,将使用GPIO5和GPIO6进行UART数据的收发。

 

UART读写数据
打开“B6_basic_uart”工程的
uart_example.c文件,可在代码中查看实现UART读写数据。
 

 

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值