文档详情

嵌入式系统开发 ——基于分布式系统OpenHarmony 课件 08-轻量系统应用开发;09-小型系统应用开发.pptx

发布:2025-04-19约1.23万字共129页下载文档
文本预览下载声明

基于OpenHarmony的嵌入式开发

第八章轻量系统应用开发;[8.1.1]项目的硬件组成

Hi3861SoC模块:Hi-12F-Kit

显示屏幕:OLED128×64(I2C接口)

空气质量检测传感器

Hi3861内部没有包含温湿度、PM2.5等传感器,需要使用外部传感器

PTQS1005多合一气体传感器模组,如下特性:

①激光散射原理测量颗粒物浓度;

②半导体原理测量TVOC(TotalVolatileOrganicCompounds,有机气态物质);

③红外非分光原理测量二氧化碳;

④内部集成温湿度一体检测芯片;

⑤多种传感器统一风道,优化空间和反应速度。;[8.1.1]项目的硬件组成

空气质量检测传感器PTQS1005;[8.1.1]项目的硬件组成

空气质量检测传感器PTQS1005;[8.1.2]项目实现过程

①创建项目,同7.1节,略

②OLED的功能支持:7.4.1小节示例的功能过于简单

使用功能更丰富的第三方库,扩展OLED128×64的显示特性

U8g2:Libraryformonochromedisplays,version2,

U8g2isamonochromegraphicslibraryforembeddeddevices.U8g2supportsmonochromeOLEDsandLCDs,whichincludethefollowingcontrollers:SSD1305,SSD1306……

Includesallgraphicsprocedures(line/box/circledraw).

Supportsmanyfonts.(Almost)norestrictiononthefontheight.

Requiressomememoryinthemicrocontrollertorenderthedisplay.

下载U8g2,解压缩到项目目录下,将文件夹名称更改为u8g2即可

本示例实际使用的是纯文本的U8x8库(包含在U8g2中);[8.1.2]项目实现过程

②OLED的功能支持:在BUILD.gn中增加U8g2支持;[8.1.2]项目实现过程

②OLED的功能支持:工程源码文件内容

U8g2重点:实现U8g2(U8x8)中的相关功能函数(Setup);[8.1.2]项目实现过程

②OLED的功能支持:工程源码文件内容

byte_cb:回调函数(u8x8_byte_hw_i2c):switch-case

U8X8_MSG_BYTE_INIT:用来初始化GPIO

U8X8_MSG_BYTE_SEND:用来发送数据(复制数据到Buffer)

U8X8_MSG_BYTE_SET_DC:在I2C中不使用(SPI:Data/Cmd)

U8X8_MSG_BYTE_START_TRANSFER:开始传输数据

U8X8_MSG_BYTE_END_TRANSFER:结束传输数据

gpio_and_delay_cb:回调函数(u8x8_gpio_and_delay)

U8X8_MSG_GPIO_AND_DELAY_INIT:初始化IO,在BYTE_INIT已完成

U8X8_MSG_DELAY_NANO:在I2C中不使用,延时1纳秒

U8X8_MSG_DELAY_MILLI:延时1微秒

;[8.1.2]项目实现过程

②OLED的功能支持:工程源码文件内容:两个回调函数(部分源码)

;[8.1.2]项目实现过程

②OLED的功能支持:工程源码文件内容:两个回调函数(部分源码)

;[8.1.2]项目实现过程

③Hi3861与PTQS1005的通信,选择使用UART:9600,8N1

PTQS1005有很多数据,可以选择性地读取,指令与格式如下:

例如:0x42,0x4D,0xAB,0x00,0x00,0x01,0x3A

;[8.1.2]项目实现过程

③Hi3861与PTQS1005的通信,选择使用UART:9600,8N1

使用读取一般数据方式读取PTQS1005

;[8.1.2]项目实现过程

③Hi3861与PTQS1005的通信,选择使用UART:9600,8N1

首先,配置Hi3861的UART1接口,9600,8N1模式,参考第七章

其次,完成发送指令的函数:读取一般数据SendCommand()

;[8.1.2]项目实现过程

③Hi3861与PTQS1005的通信,选择使用UART:9600,8N1

再次,接收数据、解析数据;[8.1.2]项目实现过程

显示全部
相似文档