OpenHarmony物联网开发教程-第5章-驱动开发实践_第1页
OpenHarmony物联网开发教程-第5章-驱动开发实践_第2页
OpenHarmony物联网开发教程-第5章-驱动开发实践_第3页
OpenHarmony物联网开发教程-第5章-驱动开发实践_第4页
OpenHarmony物联网开发教程-第5章-驱动开发实践_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

OpenHarmony物联网开发教程第5章驱动开发实践本科专业授课课件教材章节定位与授课安排本章围绕“驱动开发实践”展开,课堂重点是把教材步骤、接口表、接线图、代码实现和实验现象连成完整开发流程。模块课堂内容授课方式学习产出5.1GPIO输入输出讲解+演示能复述流程并定位关键文件/接口5.2GPIO中断讲解+演示能复述流程并定位关键文件/接口5.3PWM讲解+演示能复述流程并定位关键文件/接口5.4ADC讲解+演示能复述流程并定位关键文件/接口5.5I2C讲解+演示能复述流程并定位关键文件/接口5.6UART讲解+演示能复述流程并定位关键文件/接口OpenHarmony物联网开发教程|第5章驱动开发实践学习目标与考核关注1掌握GPIO、GPIO中断、PWM、ADC、I2C、UART常见驱动接口2能分析接线图和电路原理图3能按流程表实现驱动测试程序4能通过外设现象和调试输出验证功能本章重点教材中的截图、流程表、接线图、电路原理图和核心接口调用。考核关注能把操作步骤、硬件连接、代码位置和运行结果讲清楚,而不是只照着截图操作。OpenHarmony物联网开发教程|第5章驱动开发实践本章知识地图5.1GPIO输入输出教材模块5.2GPIO中断教材模块5.3PWM教材模块5.4ADC教材模块5.5I2C教材模块5.6UART教材模块•建议按“目标-准备-设计-实现-验证-排错”的课堂线索串讲。•图片页均采用Word版教材内嵌原图,表格页根据Word原生表格重排。•实验章节要让学生明确:每一步操作对应哪个工程文件、接口或硬件现象。OpenHarmony物联网开发教程|第5章驱动开发实践5.1GPIO输入输出按“基本概念/应用场景-总体设计-代码实现-成果展示”组织授课5.1GPIO输入输出实验主线本节学习线索15.1.1GPIO的基本概念25.1.2总体设计35.1.3实现软件代码45.1.4成果展示OpenHarmony物联网开发教程|第5章驱动开发实践5.1.1GPIO的基本概念•1.GPIO简介•GPIO(General-purposeinput/output)通用型输入输出,俗称I/O口。•I指的是输入O指的是输出,可以通过软件来控制其输入和输出,即I/O控制。•通常,GPIO控制器通过分组的方式管理所有GPIO管脚,每组GPIO有一个或多个寄存器与之关联,通过读写寄存器完成对GPIO管脚的操作。•如图5.1所示,芯片四周的大多数引脚都是由GPIO引出。OpenHarmony物联网开发教程|第5章驱动开发实践表5.1常见接口说明接口名接口描述unsignedintIoTGpioInit(unsignedintid…GPIO管脚初始化unsignedintIoTGpioSetDir(unsignedint…设置GPIO管脚的方向unsignedintIoTGpioSetOutputVal(unsigne…设置GPIO管脚的输出电平值•表格内容来自Word版教材原生表格,课堂中建议结合对应截图和代码逐项解释。OpenHarmony物联网开发教程|第5章驱动开发实践5.1.1GPIO的基本概念图5.1芯片示意图图5.3常见LED灯•图5.1芯片示意图•图5.3常见LED灯OpenHarmony物联网开发教程|第5章驱动开发实践5.1.2总体设计•1.确定开发目标•查看硬件原理图如图5.5所示,使用GPIO的输出功能实现LED灯的闪烁,并对GPIO的概念以及各接口的应用有所了解。•(1)硬件准备:Windows系统主机1台、OpenHarmony鸿蒙开发主板1块、USB-TypeC线1根。•(2)开发实践前提:•基本开发环境已搭建,如图5.4系统接线简图所示;OpenHarmony物联网开发教程|第5章驱动开发实践表5.2系统流程设计说明序号流程说明流程接口说明1确定控制LED1灯的GPIO管脚GPIO_2——>管脚号:HI_IO_NAME_GPIO_22初始化LED1灯管脚接口名称:IoTGpioInit3配置LED1灯管脚为输出模式接口名称:IoTGpioSetDir输出模式:IOT_GPIO_DIR_OUT4控制管脚输出高/低电平接口名称:IoTGpioSetOutputVal高电平:IOT_GPIO_VALUE1或者1低电平:IOT_GPIO_VALUE0或者0OpenHarmony物联网开发教程|第5章驱动开发实践5.1.2总体设计图5.4系统接线简图图5.5LED灯的电路原理图•图5.4系统接线简图•图5.5LED灯的电路原理图OpenHarmony物联网开发教程|第5章驱动开发实践5.1.3实现软件代码•将软件实现代码存放到如下路径:•//applications/sample/wifi-iot/app/02_basic_peripheral_experiment/01_GPIO_Test•---------------------------------------------------------------------------------------------------------…•static_library("gpio_test"){•sources=[OpenHarmony物联网开发教程|第5章驱动开发实践5.1.3实现软件代码:代码讲解重点•先定位示例工程目录、源文件和BUILD.gn构建文件,再讲解核心接口调用。•按“初始化-配置-读写/控制-日志输出-异常处理”的顺序阅读代码。•强调接口返回值检查、延时/任务调度、资源释放和串口日志定位问题。•让学生把代码执行结果与接线图、电路原理图和编程流程表对应起来。OpenHarmony物联网开发教程|第5章驱动开发实践5.1.4成果展示•将程序编译、烧录后,LED1灯不断闪烁,现象示意图如图5.6所示。讲授提示把教材说明与后续截图、表格、代码和运行结果对应起来,形成可复现的实验链路。OpenHarmony物联网开发教程|第5章驱动开发实践5.1.4成果展示图5.6现象示意图操作要点•图5.6现象示意图OpenHarmony物联网开发教程|第5章驱动开发实践5.2GPIO中断按“基本概念/应用场景-总体设计-代码实现-成果展示”组织授课5.2GPIO中断实验主线本节学习线索15.2.1中断的概念25.2.2总体设计35.2.3实现软件代码45.2.4成果展示OpenHarmony物联网开发教程|第5章驱动开发实践5.2.1中断的概念•中断在OpenHarmony系统中发挥着重要作用,它使得CPU能够高效地处理外设的请求,同时保持系统的实时性和稳定性。•通过中断机制,外设可以在不需要CPU介入时自主工作,而在需要CPU处理时通过中断信号及时通知CPU,从而实现资源的有效利用和任务的高效调度。•中断一般来自硬件(如片外部I/O输入等)发生的事件,当这些硬件产生中断信号时,CPU会暂停当前运行的程序,转而去处理相关硬件的中断触发程序,如图5.7所示。•按键本质上就是一个开关,这个开关的下部还有一个用于复位的弹簧。•如图5.8所示,按下按键时可以导通A端与B端;OpenHarmony物联网开发教程|第5章驱动开发实践表5.3常见接口说明接口名接口描述hi_u32hi_io_set_pull(hi_io_nameid,hi_…设置某个IO的上下拉功能hi_u32hi_io_set_func(hi_io_nameid,hi_…设置GPIO的复用功能unsignedintIoTGpioRegisterIsrFunc(unsi…使能GPIO管脚中断功能参数说明:id:GPIO管脚号intType:中断触发模式intPolarity:中断触发极性func:中断触发回调函数arg:中断触发回调函数参数•表格内容来自Word版教材原生表格,课堂中建议结合对应截图和代码逐项解释。OpenHarmony物联网开发教程|第5章驱动开发实践5.2.1中断的概念图5.7中断处理示意图图5.8按键开闭状态•图5.7中断处理示意图•图5.8按键开闭状态OpenHarmony物联网开发教程|第5章驱动开发实践5.2.2总体设计•1.确定开发目标•查看硬件原理图如图5.10所示,确定两个用户按键对应的GPIO管脚,编写GPIO中断程序,实现按键按下后控制LED灯闪烁频率的功能,从而了解GPIO中断接口的应用。•2.准备开发工具•(1)硬件准备:Windows系统主机1台、OpenHarmony鸿蒙开发主板1块、USB-TypeC线1根。•(2)开发实践前提:OpenHarmony物联网开发教程|第5章驱动开发实践表5.4编程流程设计说明序号流程说明流程接口说明1确定按键对应的GPIO管脚GPIO_11——>管脚号:HI_IO_NAME_GPIO_11GPIO_12——>管脚号:HI_IO_NAME_GPIO_122初始化按键管脚接口名称:IoTGpioInit3配置按键管脚为输入模式接口名称:IoTGpioSetDir输入模式:IOT_GPIO_DIR_IN4配置按键管脚上拉接口名称:hi_io_set_pull上拉:HI_IO_PULL_UP5配置按键管脚GPIO复用功能接口名称:hi_io_set_funcOpenHarmony物联网开发教程|第5章驱动开发实践表5.4编程流程设计说明(续)序号流程说明流程接口说明6配置按键中断为中断边缘触发、下降沿触发接口名称:IoTGpioRegisterIsrFunc中断边缘触发:IOT_INT_TYPE_EDGE下降沿触发:IOT_GPIO_EDG…7实现中断触发回调函数—•表格内容来自Word版教材原生表格,课堂中建议结合对应截图和代码逐项解释。OpenHarmony物联网开发教程|第5章驱动开发实践5.2.2总体设计图5.10按键电路原理图操作要点•图5.10按键电路原理图OpenHarmony物联网开发教程|第5章驱动开发实践5.2.3实现软件代码•将软件实现代码存放到如下路径:•//applications/sample/wifi-iot/app/02_basic_peripheral_experiment/02_GPIO_Interrupt_Test•---------------------------------------------------------------------------------------------------------…•static_library("gpio_interrupt_test"){•sources=[OpenHarmony物联网开发教程|第5章驱动开发实践5.2.3实现软件代码:代码讲解重点•先定位示例工程目录、源文件和BUILD.gn构建文件,再讲解核心接口调用。•按“初始化-配置-读写/控制-日志输出-异常处理”的顺序阅读代码。•强调接口返回值检查、延时/任务调度、资源释放和串口日志定位问题。•让学生把代码执行结果与接线图、电路原理图和编程流程表对应起来。OpenHarmony物联网开发教程|第5章驱动开发实践5.2.4成果展示•将程序编译、烧录后,按下按键1(K1),LED1以较快频率闪烁;•按下按键2(K2),LED1以较慢频率闪烁,现象如图5.11所示。讲授提示把教材说明与后续截图、表格、代码和运行结果对应起来,形成可复现的实验链路。OpenHarmony物联网开发教程|第5章驱动开发实践5.2.4成果展示图5.11现象示意图操作要点•图5.11现象示意图OpenHarmony物联网开发教程|第5章驱动开发实践5.3PWM按“基本概念/应用场景-总体设计-代码实现-成果展示”组织授课5.3PWM实验主线本节学习线索15.3.1PWM的基本概念25.3.2总体设计35.3.3实现软件代码45.3.4成果展示OpenHarmony物联网开发教程|第5章驱动开发实践5.3.1PWM的基本概念•1.PWM简介•PWM即脉冲宽度调制(PulseWidthModulation)的缩写,是一种对模拟信号电平进行数字编码并将其转换为脉冲的技术。•脉冲是“电脉冲”的简称,指电路中电流或电压短暂起伏的现象,其特点是突变和不连续性。•脉冲的种类很多,常见的脉冲波形有:三角脉冲、尖脉冲、矩形脉冲、方形脉冲、梯形脉冲及阶梯脉冲等。•脉冲的主要参数包括重复周期T(T=1/f,f为重复频率)、脉冲幅度U、脉冲前沿上升时间ts、后沿下降时间t、脉冲宽度tk等。OpenHarmony物联网开发教程|第5章驱动开发实践表5.5常见接口说明接口名接口描述hi_u32hi_io_set_func(hi_io_nameid,hi_…设置GPIO的复用功能unsignedintIoTPwmInit(unsignedintpor…PWM功能初始化unsignedintIoTPwmStart(unsignedintpo…开始PWM信号输出,同时设置PWM占空比与频率•表格内容来自Word版教材原生表格,课堂中建议结合对应截图和代码逐项解释。OpenHarmony物联网开发教程|第5章驱动开发实践5.3.1PWM的基本概念图5.12PWM占空比操作要点•图5.12PWM占空比OpenHarmony物联网开发教程|第5章驱动开发实践5.3.2总体设计•1.确定开发目标•2.准备开发工具•(1)硬件准备:Windows系统主机1台、OpenHarmony鸿蒙开发主板1块、USB-TypeC线1根。•(2)开发实践前提:•基本开发环境已搭建,如图5.13系统接线简图所示;OpenHarmony物联网开发教程|第5章驱动开发实践表5.6编程流程设计说明序号流程说明流程接口说明1确定控制LED1灯的GPIO管脚GPIO_2——>管脚号:HI_IO_NAME_GPIO_22初始化LED1灯管脚接口名称:IoTGpioInit3配置LED1灯管脚为输出模式接口名称:IoTGpioSetDir输出模式:IOT_GPIO_DIR_OUT4配置LED1管脚PWM复用功能接口名称:hi_io_set_func5PWM初始化接口名称:IoTPwmInitOpenHarmony物联网开发教程|第5章驱动开发实践表5.6编程流程设计说明(续)序号流程说明流程接口说明6开始PWM信号输出,同时设置PWM占空比与频率接口名称:IoTPwmStart•表格内容来自Word版教材原生表格,课堂中建议结合对应截图和代码逐项解释。OpenHarmony物联网开发教程|第5章驱动开发实践5.3.2总体设计图5.14LED灯的电路原理图操作要点•图5.14LED灯的电路原理图OpenHarmony物联网开发教程|第5章驱动开发实践5.3.3实现软件代码•注意:对于PWM、I2C、UART、DMA、SPI等外设驱动,在编写程序之前,需要在//device/hisilicon/hispark_pegasus/sdk_liteos/build/config/usr_…•在usr_config.mk中添加配置I2C、PWM、UART的方法详见图5.16。•将软件实现代码存放到如下路径:•//applications/sample/wifi-iot/app/02_basic_peripheral_experiment/03_PWM_Output_Test•---------------------------------------------------------------------------------------------------------…OpenHarmony物联网开发教程|第5章驱动开发实践5.3.3实现软件代码图5.15PWM未配置导致编译报错图5.16I2C、PWM、UART配置添加(usr_config.mk)•图5.15PWM未配置导致编译报错•图5.16I2C、PWM、UART配置添加(usr_config.mk)OpenHarmony物联网开发教程|第5章驱动开发实践5.3.3实现软件代码:代码讲解重点•先定位示例工程目录、源文件和BUILD.gn构建文件,再讲解核心接口调用。•按“初始化-配置-读写/控制-日志输出-异常处理”的顺序阅读代码。•强调接口返回值检查、延时/任务调度、资源释放和串口日志定位问题。•让学生把代码执行结果与接线图、电路原理图和编程流程表对应起来。OpenHarmony物联网开发教程|第5章驱动开发实践5.3.4成果展示•将程序编译、烧录后,LED灯呈现呼吸灯效果,现象示意如图5.17所示讲授提示把教材说明与后续截图、表格、代码和运行结果对应起来,形成可复现的实验链路。OpenHarmony物联网开发教程|第5章驱动开发实践5.3.4成果展示图5.17现象示意图操作要点•图5.17现象示意图OpenHarmony物联网开发教程|第5章驱动开发实践5.4ADC按“基本概念/应用场景-总体设计-代码实现-成果展示”组织授课5.4ADC实验主线本节学习线索15.4.1ADC的基本概念25.4.2总体设计35.4.3实现软件代码45.4.4成果展示OpenHarmony物联网开发教程|第5章驱动开发实践5.4.1ADC的基本概念•ADC(AnalogtoDigitalConverter)模拟-数字转换器,可将模拟信号转换成对应的数字信号,便于存储与计算等操作。•除电源线和地线之外,ADC只需要1根线与被测量的设备进行连接,物理连线如图5.18所示。•ADC中几个常见的参数描述如下:•分辨率指的是ADC模块能够转换的二进制位数,位数越多分辨率越高。•转换误差通常是以输出误差的最大值形式给出,它表示A/D转换器实际输出的数字量和理论上的输出数字量之间的差别,常用最低有效位的倍数表示。OpenHarmony物联网开发教程|第5章驱动开发实践表5.7常见接口说明接口名接口描述hi_u32hi_adc_read(hi_adc_channel_index…从一个ADC通道读一个数据参数说明:channel:ADC通道data:ADC数据的保存地址equ_model:平均算法模式cur_bais:模拟电源控制delay_cnt:从配置采样到启动采样的延时时间计数…hi_floathi_adc_convert_to_voltage(hi_u1…将ADC读取到的数据转换为电压•表格内容来自Word版教材原生表格,课堂中建议结合对应截图和代码逐项解释。OpenHarmony物联网开发教程|第5章驱动开发实践5.4.1ADC的基本概念图5.18ADC物理连线示意图操作要点•图5.18ADC物理连线示意图OpenHarmony物联网开发教程|第5章驱动开发实践5.4.2总体设计•1.确定开发目标•查看硬件原理图如图5.20所示,确定按键1对应的GPIO管脚,编写ADC数据采集程序,实现将按键GPIO状态进行采集并转化的功能。•2.准备开发工具•(1)硬件准备:Windows系统主机1台、OpenHarmony鸿蒙开发主板1块、USB-TypeC线1根。•(2)开发实践前提:OpenHarmony物联网开发教程|第5章驱动开发实践表5.8编程流程设计说明序号流程说明流程接口说明1确定按键1对应的GPIO管脚GPIO_11—>管脚号:HI_IO_NAME_GPIO_112初始化按键管脚接口名称:IoTGpioInit3配置按键管脚为输入模式接口名称:IoTGpioSetDir输出模式:IOT_GPIO_DIR_IN4配置按键管脚上拉接口名称:hi_io_set_pull上拉:HI_IO_PULL_UP5从按键管脚对应的ADC通道读取数据,配置参数为:ADC通道为5、模拟电源控制为自动识别模式、8次…接口名称:hi_adc_read通道5:HI_ADC_CHANNEL_5自动识别模式:HI_ADC_CUR_BAIS_AUTO8次平均算法…OpenHarmony物联网开发教程|第5章驱动开发实践表5.8编程流程设计说明(续)序号流程说明流程接口说明6将ADC采集数据转化为电压值接口名称:hi_adc_convert_to_voltage•表格内容来自Word版教材原生表格,课堂中建议结合对应截图和代码逐项解释。OpenHarmony物联网开发教程|第5章驱动开发实践5.4.2总体设计图5.20按键的电路原理图操作要点•图5.20按键的电路原理图OpenHarmony物联网开发教程|第5章驱动开发实践5.4.3实现软件代码•将软件实现代码存放到如下路径:•//applications/sample/wifi-iot/app/02_basic_peripheral_experiment/04_ADC_Data_Acquisition_Test•---------------------------------------------------------------------------------------------------------…•static_library("adc_data_acquisition_test"){•sources=[OpenHarmony物联网开发教程|第5章驱动开发实践5.4.3实现软件代码:代码讲解重点•先定位示例工程目录、源文件和BUILD.gn构建文件,再讲解核心接口调用。•按“初始化-配置-读写/控制-日志输出-异常处理”的顺序阅读代码。•强调接口返回值检查、延时/任务调度、资源释放和串口日志定位问题。•让学生把代码执行结果与接线图、电路原理图和编程流程表对应起来。OpenHarmony物联网开发教程|第5章驱动开发实践5.4.4成果展示•将程序编译、烧录后,终端持续打印ADC采集的转化数据与对应的电压值:•(1)当按键K1未按下时,转换的电压值显示为3.30V左右;•(2)当按键K1按下时,转换的电压值显示为0.20V左右。•说明:可以长按按键K1观察ADC采集的数据。•现象示意图如图5.21所示。OpenHarmony物联网开发教程|第5章驱动开发实践5.4.4成果展示图5.21现象示意图操作要点•图5.21现象示意图OpenHarmony物联网开发教程|第5章驱动开发实践5.5I2C按“基本概念/应用场景-总体设计-代码实现-成果展示”组织授课5.5I2C实验主线本节学习线索15.5.1I2C的基本概念25.5.2总体设计35.5.3实现软件代码45.5.4成果展示OpenHarmony物联网开发教程|第5章驱动开发实践5.5.1I2C的基本概念•I2C(InterIntegratedCircuit)总线是由Philips公司开发的一种简单、双向二线制同步串行总线,由于硬件连接简单、成本低廉,被广泛应用于各种短距离通信的场景。•I2C协议是一种主从式的通信协议,允许多个设备在同一总线上通信。•I2C以主从方式工作,通常包含一个主设备和从设备(一个或者多个)。•主从设备通过串行数据线SDA以及串行时钟线SCL这两根线相连。•I2C数据的传输必须以一个起始信号作为开始条件,以一个结束信号作为传输的停止条件。OpenHarmony物联网开发教程|第5章驱动开发实践表5.9常见接口说明接口名接口描述unsignedintIoTI2cInit(unsignedintid,…初始化I2C设备并设置波特率unsignedintIoTI2cWrite(unsignedintid…向一个I2C从机设备发送数据unsignedintIoTI2cSetBaudrate(unsigned…I2C设备波特率设置hi_u32hi_i2c_writeread(hi_i2c_idxid,h…向一个I2C从机设备发送数据,然后接收从机设备数据OpenHarmony物联网开发教程|第5章驱动开发实践5.5.1I2C的基本概念图5.22I2C通信总体特征结构图5.23物理接线示意图•图5.22I2C通信总体特征结构•图5.23物理接线示意图OpenHarmony物联网开发教程|第5章驱动开发实践5.5.1I2C的基本概念(图示续)图5.24NFC应用场景操作要点•图5.24NFC应用场景OpenHarmony物联网开发教程|第5章驱动开发实践5.5.2总体设计•1.确定开发目标•实现向NFC标签中写入数据,确定I2C通信对应的GPIO管脚,编写I2C数据通信程序。•2.准备开发工具•(1)硬件准备:Windows系统主机1台、OpenHarmony鸿蒙开发主板1块、USB-TypeC线1根。•(2)开发实践前提:OpenHarmony物联网开发教程|第5章驱动开发实践表5.10编程流程设计说明序号流程说明流程接口说明1确定I2C通信的GPIO管脚GPIO_0——>管脚号:HI_IO_NAME_GPIO_0GPIO_1——>管脚号:HI_IO_NAME_GPIO_12初始化I2C管脚接口名称:IoTGpioInit3配置I2C管脚的复用功能接口名称:hi_io_set_func4I2C功能初始化及波特率设置接口名称:IoTI2cInit、IoTI2cSetBaudrate5向NFC写入文本信息与URI信息上层接口:nfc_store_text、nfc_store_uri_http底层接口:IoTI2cWrite、hi_i2c_writere…OpenHarmony物联网开发教程|第5章驱动开发实践5.5.2总体设计图5.26NFC的电路原理图操作要点•图5.26NFC的电路原理图OpenHarmony物联网开发教程|第5章驱动开发实践5.5.3实现软件代码•将软件实现代码存放到如下路径:•//applications/sample/wifi-iot/app/02_basic_peripheral_experiment/05_IIC_Communication_Test•---------------------------------------------------------------------------------------------------------…•static_library("iic_communication_test"){•sources=[OpenHarmony物联网开发教程|第5章驱动开发实践5.5.3实现软件代码:代码讲解重点•先定位示例工程目录、源文件和BUILD.gn构建文件,再讲解核心接口调用。•按“初始化-配置-读写/控制-日志输出-异常处理”的顺序阅读代码。•强调接口返回值检查、延时/任务调度、资源释放和串口日志定位问题。•让学生把代码执行结果与接线图、电路原理图和编程流程表对应起来。OpenHarmony物联网开发教程|第5章驱动开发实践5.5.4成果展示•将程序编译、烧录后,将带有NFC的手机(确保手机NFC功能开启,且手机安装“NFC标签助手”)贴近硬件NFC区域,等待手机响应,并在手机上查看读取到的TEXT信息和URI信息。•现象示意图如下图5.27所示。•NFC标签助手读取的数据如图5.28所示。•读取的文本信息为:Hello!ThisisDemoText.•读取的URI数据为:OpenHarmony物联网开发教程|第5章驱动开发实践5.5.4成果展示图5.27现象示意图图5.28NFC标签助手读取的数据•图5.27现象示意图•图5.28NFC标签助手读取的数据OpenHarmony物联网开发教程|第5章驱动开发实践5.5.4成果展示(图示续)图5.28NFC标签助手读取的数据操作要点•图5.28NFC标签助手读取的数据OpenHarmony物联网开发教程|第5章驱动开发实践5.6UART按“基本概念/应用场景-总体设计-代码实现-成果展示”组织授课5.6UART实验主线本节学习线索15.6.1UART的基本概念25.6.2总体设计35.6.3实现软件代码45.6.4成果展示OpenHarmony物联网开发教程|第5章驱动开发实践5.6.1UART的基本概念•1.UART功能简介•UART通用异步收发传输器(UniversalAsynchronousReceiver/Transmitter),是一种关键的异步通信模块。•它负责处理数据总线和串行口之间的串/并、并/串转换,通过规定的帧格式,使得通信双方在未共享时钟信号的情况下,仅用两根信号线(RX和TX)就能完成通信。•UART的工作原理包括数据发送和接收两个过程:数据发送时,UART将CPU准备写入串行设备的数据转换为串行数据流并逐位传输;•数据接收时,UART通过RX引脚逐位接收串行数据流,并将其转换为并行数据供CPU取走。OpenHarmony物联网开发教程|第5章驱动开发实践表5.11常见接口说明接口名接口描述unsignedintIoTUartInit(unsignedintid…根据指定参数初始化串口设备unsignedintIoTUartSetFlowCtrl(unsigned…设置串口设备硬件流控制intIoTUartRead(unsignedintid,unsigne…读取串口设备数据intIoTUartWrite(unsignedintid,const…向串口设备写入指定数据OpenHarmony物联网开发教程|第5章驱动开发实践5.6.1UART的基本概念图5.29UART设备2线相连示意图图5.30UART设备4线相连示意图•图5.29UART设备2线相连示意图•图5.30UART设备4线相连示意图OpenHarmony物联网开发教程|第5章驱动开发实践5.6.2总体设计•1.确定开发目标•编写UART数据通信程序,实现数据的自发自收,确定UART通信对应的GPIO管脚。•2.准备开发工具•(1)硬件准备:Windows系统主机1台、OpenHarmony鸿蒙开发主板1块、USB-TypeC线1根。•(2)开发实践前提:OpenHarmony物联网开发教程|第5章驱动开发实践表5.12编程流程设计说明序号流程说明流程接口说明1确定UART通信的GPIO管脚GPIO_3——>管脚号:HI_IO_NAME_GPIO_3GPIO_4——>管脚号:HI_IO_NAME_GPIO_42初始化UART管脚接口名称:IoTGpioInit3配置UART管脚的复用功能接口名称:hi_io_set_func4UART功能初始化接口名称:IoTUartInit5设置UART设备硬件流控制接口名称:IoTUartSetFlowCtrlOpenHarmony物联网开发教程|第5章驱动开发实践表5.12编程流程设计说明(续)序号流程说明流程接口说明6串口发送数据与接收数据发送数据接口名称:IoTUartWrite接收数据接口名称:IoTUartRead•表格内容来自Word版教材原生表格,课堂中建议结合对应截图和代码逐项解释。OpenHarmony

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论