本作品由安信可社區用戶
沈夜制作
01外設介紹
先來介紹下0.96寸OLED顯示屏(驅動芯片:SSD1306 / SSD1315)
[color=rgba(0, 0, 0, 0.87)],0.96寸OLED顯示屏是一種小尺寸的有機發光二極管(OLED)顯示屏,具有許多優點和特點。以下是對0.96寸OLED顯示屏的介紹:
- 尺寸:0.96寸指的是顯示屏的對角線尺寸,通常為0.96英寸(約24.4毫米),適合小型設備和緊湊空間。
- 分辨率:通常具有128x64像素的分辨率,可以顯示清晰的圖像和文本。
- 技術:采用OLED技術,每個像素都是自發光的,不需要背光,因此具有更高的對比度和更廣的視角。
- 高亮度:OLED顯示屏具有較高的亮度,即使在室外或明亮的環境下也能清晰可見。
- 低功耗:相比傳統的液晶顯示屏,OLED顯示屏具有較低的功耗,可以延長電池壽命。
- 快速響應:OLED顯示屏具有快速的響應時間,可以實現流暢的圖像和動畫效果。
- 色彩鮮艷:OLED顯示屏可以呈現鮮艷、飽滿的顏色,使圖像更加生動逼真。
- 視角廣:OLED顯示屏具有廣闊的視角,即使從不同的角度觀看,圖像仍然清晰可見。
- 薄型輕便:OLED顯示屏采用薄型設計,重量輕,適合應用于便攜式設備和可穿戴設備。
- 靈活性:某些OLED顯示屏采用柔性基板制造,具有彎曲和彎折的能力,適用于柔性顯示應用。
- 高對比度:OLED顯示屏具有高對比度,黑色顯示非常深黑,白色顯示非常亮白,使圖像更加清晰。
- 高刷新率:OLED顯示屏具有高刷新率,可以實現流暢的視頻播放和動態圖像效果。
02外設規格參數
工作電壓:3.3V
工作電流:9MA
模塊尺寸:27.3 x 27.8 MM
像素大小:128(H) x 64(V)RGB
驅動芯片:SSD1306
03移植過程
分為資料介紹、移植至工程、引腳選擇介紹:(點擊文首原貼地址進行下載)
驅動芯片SSD1306數據手冊.pdf
man.c 事例代碼移植
刪除 不用的代碼。
#include "stm32f10x.h" // Device header
#include "Delay.h"
確少一個 延時,功能一樣直接調用博流的庫,可以 手動替換成bflb_mtimer_delay_ms ,但是可以根據c語法,[color=rgba(0, 0, 0, 0.87)]在代碼中添加以下宏定義:
#define Delay_ms(ms) bflb_mtimer_delay_ms(ms)
則無需修改任何代碼。
oled.c i2c 移植
OLED引腳初始化>>OLED_GPIO_Init,
I2C發送一個字節>>OLED_I2C_SendByte
iOLED寫命令>>OLED_WriteCommand
OLED寫數據>>OLED_WriteData
修改方法:直接復制 sdk里面的i2c代碼即可
經過分析。原先工程用的是軟件模擬i2c,本次使用的硬件庫的。
I2C發送一個字節>>OLED_I2C_SendByte 這個不用移植,直接刪掉。
iOLED寫命令>>OLED_WriteCommand
OLED寫數據>>OLED_WriteData
這里分析得出就是發送從機地址和命令。里面的函數都用不到,可以直接刪除:
OLED_I2C_Start(); I2C起始
OLED_I2C_SendByte(0x78);
OLED_I2C_Stop(); //I2C終止
04移植驗證
這里介紹功能齊全 - 支持字符、數字、漢字、圖像及各種繪圖圖形顯示。
PS:代碼非原創,只是移植到了Ai-M61,經驗證代碼無任何報錯。
快速使用:
解壓 修改 Makefile 文件
BL_SDK_BASE ?= D:testboliubouffalo_sdk/
為自己的sdk路徑即可
#include "OLED.h"
/*OLED初始化*/
OLED_Init();
/*在(0, 0)位置顯示字符'A',字體大小為8*16點陣*/
OLED_ShowChar(0, 0, 'A', OLED_8X16);
/*調用OLED_Update函數,將OLED顯存數組的內容更新到OLED硬件進行顯示*/
OLED_Update();
只需要引用一個,就能方便調用了。
高級設置:
OLED.c
OLED_GPIO_Init 函 數:OLED引腳初始化
只需要替換GPIO_PIN_0、GPIO_PIN_1,就可以修改自定義引腳
OLED_Data.c
注意:添加沒有的中文字庫,添加圖像都在此,demo里面有詳細的調用過程。
取模教程
一:配置軟件,點設置然后按照如下設置。
二:生成字模。
三:安裝格式。主要是刪掉多余的,復制沒有的即可。
效果如下:
PCtoLCD2002.zip (886.22 KB)
0.96oled.zip (17.69 KB)
備注:進入原貼下載
05常見問題匯總
移植純c代碼需要改的地方并不多,甚至原封不動的復制過來的man文件,僅僅是添加了文件頭。一些常見問題匯總給大家作參考:
5.1文件找不到
打開CMakeLists.txt
添加文件包含,格式空格 一個文件名
target_sources(app PRIVATE oled.c OLED_Data.c)
5.2 編譯器找不到路徑
修改 Makefile 文件
BL_SDK_BASE ?= D:testboliubouffalo_sdk/
也可以 直接修改為sdk的絕對路徑,這樣你項目的目錄 可以隨便放在任何地方。
5.3 數據類型找不到
引入c語言庫能解決90%
#include
#include
#include
#include
審核編輯 黃宇
-
顯示屏
+關注
關注
28文章
4512瀏覽量
74779 -
IIC
+關注
關注
11文章
302瀏覽量
38537 -
開發板
+關注
關注
25文章
5126瀏覽量
98320
發布評論請先 登錄
相關推薦
評論