日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

sh1106(OLED)

更新時(shí)間:

更正文檔

概述

OLED,即有機(jī)發(fā)光二極管(Organic Light-Emitting Diode)。OLED 由于同時(shí)具備自發(fā)光,不需背光源、對(duì)比度高、厚度薄、視角廣、反應(yīng)速度快、可用于撓曲性面板、使用溫度范圍廣、構(gòu)造及制程較簡(jiǎn)單等優(yōu)異之特性。 與LCD相比,LCD需要背光,同樣的顯示,OLED 效果要來(lái)得好一些,OLED分辨率可以做到很高。 本組件是為1.3寸OLED屏驅(qū)動(dòng)IC-SSD1106(與0.96寸OLED稍有不同,SSD1306),SSD1106點(diǎn)陣13264,SSD1306點(diǎn)陣12864,都是8頁(yè)的顯存,SSD1106每頁(yè)132字節(jié),SSD1306每頁(yè)128字節(jié)。 下面看一下其對(duì)應(yīng)關(guān)系(SSD1106 1.3寸OLED為例)

與HaaS100的硬件連接

版權(quán)信息

說(shuō)明

Apache license v2.0

目錄結(jié)構(gòu)

├── src
│   └── sh1106.c               # 基于sh1106 OLED組件服務(wù)
├── include
│   ├── front.h                  # 字模庫(kù)文件。
│   ├── icon.h                   
│   ├── sh1106.h                # 基于sh1106 OLED組件服務(wù)API。
│   └── sh1106_hdconfig.h  # sh1106硬件相關(guān)配置
├── package.yaml              # 編譯配置文件
└── example
      └── sh1106_example.c   # 顯示測(cè)試代碼

依賴組件

  • base

  • gpio

  • spi

常用配置

系統(tǒng)中相關(guān)配置已有默認(rèn)值,如需修改配置,統(tǒng)一在 sh1106_hdconfig.h 修改,具體如下:

  • 選擇訪問(wèn)sh1106芯片的模式,設(shè)置為1,支持軟件模擬SPI;設(shè)置為0,支持硬件SPI訪問(wèn):

#define USE_SOFT_SPI 1

  • 選擇是否支持錄屏功能,設(shè)置為0,錄屏功能關(guān)閉;設(shè)置為1,錄屏功能打開:

#define RECORD_SCREEN 0

  • 是否支持fb框架,設(shè)置為0,不支持fb框架,支持輸出顯示;設(shè)置為1,支持fb框架:

#define FB_FRAME_EN 0

API說(shuō)明

sh1106 初始化

uint8_t sh1106_init(void);

sh1106 繪制字符串

void sh1106_show_string(uint8_t x, uint8_t y, const uint8_t *p, uint8_t size, uint8_t mode);

args

description

x, y

字符串左上角相對(duì)屏幕坐標(biāo)

p

字符串指針

size

字符點(diǎn)集大小支持 12/16/24

mode

0-反顯 1-正顯

使用示例

組件使用示例相關(guān)的代碼下載、編譯和固件燒錄均依賴AliOS Things配套的開發(fā)工具,所以首先需要參考《AliOS Things集成開發(fā)環(huán)境使用說(shuō)明之搭建開發(fā)環(huán)境》,下載安裝。 待開發(fā)環(huán)境搭建完成后,可以按照以下步驟進(jìn)行示例的測(cè)試。

步驟1 創(chuàng)建或打開工程

打開已有工程

如果用于測(cè)試的案例工程已存在,可參考《AliOS Things集成開發(fā)環(huán)境使用說(shuō)明之打開工程》打開已有工程。

創(chuàng)建新的工程

組件的示例代碼可以通過(guò)編譯鏈接到AliOS Things的任意案例(solution)來(lái)運(yùn)行,這里選擇helloworld_demo案例。helloworld_demo案例相關(guān)的源代碼下載可參考《AliOS Things集成開發(fā)環(huán)境使用說(shuō)明之創(chuàng)建工程》

步驟2 app中添加sh1106組件

說(shuō)明

helloworld_demo組件的package.yaml中添加

depends:
  - sh1106: dev_aos # helloworld_demo中引入sh1106組件

步驟3 下載組件

在已安裝了的開發(fā)環(huán)境工具欄中,選擇Terminal -> New Terminal啟動(dòng)終端,并且默認(rèn)工作路徑為當(dāng)前工程的workspace,此時(shí)在終端命令行中輸入:

aos install sh1106

上述命令執(zhí)行成功后,組件源碼則被下載到了./components/drivers/external_device路徑中。

步驟4 添加示例代碼

說(shuō)明

sh1106組件的package.yaml中添加example示例代碼

source_file:
  - src/sh1106.c
  - example/sh1106_example.c

步驟5 編譯固件

在示例代碼已經(jīng)添加至組件的配置文件,并且helloworld_demo已添加了對(duì)該組件的依賴后,就可以編譯helloworld_demo案例來(lái)生成固件了,具體編譯方法可參考《AliOS Things集成開發(fā)環(huán)境使用說(shuō)明之編譯固件》

步驟6 燒錄固件

helloworld_demo案例的固件生成后,可參考《AliOS Things集成開發(fā)環(huán)境使用說(shuō)明之燒錄固件》來(lái)燒錄固件。

步驟7 打開串口

固件燒錄完成后,可以通過(guò)串口查看示例的運(yùn)行結(jié)果,打開串口的具體方法可參考《AliOS Things集成開發(fā)環(huán)境使用說(shuō)明之查看日志》

當(dāng)串口終端打開成功后,可在串口中輸入help來(lái)查看已添加的測(cè)試命令。

步驟8 SH1106示例測(cè)試

說(shuō)明

CLI命令行輸入:

sh1106_init  # 默認(rèn)初始化sh1106

說(shuō)明

CLI關(guān)鍵日志:

sh1106 init test begin ...
open gpio success, fd:513
sh1106 init test end !!!

說(shuō)明

CLI命令行輸入:

sh1106_display # 在oled信息屏上顯示測(cè)試

說(shuō)明

CLI關(guān)鍵日志:

sh1106 display test begin ...
sh1106 display test end !!!

FAQ

Q1: 本組件只適合sh1106芯片嗎?

答:是的,由于不同的硬件環(huán)境,不同的OLED驅(qū)動(dòng),配置的寄存器是不一樣的,所以本組件是根據(jù)sh1106驅(qū)動(dòng)芯片特性打造出的組件,所以只適合sh1106芯片。如果有其他的oled驅(qū)動(dòng)芯片,建議參考sh1106_init()的實(shí)現(xiàn)。