基於STM32的OLED的SPI介面資料顯示
基於STM32的OLED的SPI介面資料顯示
使用OLED顯示資料
- 接線說明
此時的OLED的CS介面不用連線,只需要六根線進行STM32與OLED的連線。 - 從網站下載所需資料
下載地址
- 實驗所需工程檔案位置
- 開啟工程檔案,編譯無誤
- 連線開發板,燒錄
- 顯示如下
一、顯示學號和姓名
- 使用字模提取軟體生成漢字的程式碼陣列
- 將生成的程式碼陣列,複製到以下檔案中
- 修改test.c中void TEST_MainPage(void)
void TEST_MainPage(void)
{
GUI_ShowString(20,0,"631807030423",8,1);
GUI_ShowCHinese(16,20,16,"小彭",1);
delay_ms(1500);
}
- 修改main.c
#include "delay.h"
#include "sys.h"
#include "oled.h"
#include "gui.h"
#include "test.h"
int main(void)
{
delay_init(); //延時函式初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設定NVIc中斷分組2:2位搶佔優先順序,2位響應優先順序
OLED_Init(); //初始化OLED
OLED_Clear(0); //清屏,全黑
while(1)
{
TEST_MainPage(); //主頁面顯示姓名與學號
OLED_Clear(0);
}
}
- 編譯,燒錄,顯示如下
二、顯示溫溼度
- 將上次溫溼度工程中的myiic.c和temhum.c移入HARDWARE檔案中
- 修改main.c
#include "delay.h"
#include "sys.h"
#include "oled.h"
#include "gui.h"
#include "test.h"
#include "temhum.h"
#include "myiic.h"
int main(void)
{ u32 CT_data[2]={0};
volatile float hum=0,tem=0;
temphum_init();
delay_init();
NVIC_Configuration();
OLED_Init();
OLED_Clear(0);
while(1)
{
GUI_ShowCHinese(16,36,16,"溼度",1);
GUI_ShowCHinese(16,54,16,"溫度",1);
delay_ms(1500);
OLED_Clear(0);
GUI_ShowString(16,18,"631807030612",8,1);
delay_ms(1500);
OLED_Clear(0);
AHT20_Read_CTdata(CT_data); //???CRC??,????AHT20????????
hum = CT_data[0]*100*10/1024/1024; //???????(???10?)
tem = CT_data[1]*200*10/1024/1024-500;//???????(???10?)
GUI_ShowNum(50,36,hum/10,10,8,1);
GUI_ShowNum(50,54,tem/10,10,8,1);
delay_ms(3000);
}
- 溫度溼度的程式碼陣列同上生成並加入到相同位置
- 編譯,燒錄,顯示如下
三、上下或左右的滑動顯示長字元
- 同上在字模提取軟體中生成字元的程式碼陣列,加入指定位置
- 在HARDWARE檔案oled.c中新增以下函式
void roll(void)
{
OLED_WR_Byte(0x2e,OLED_CMD); //關滾動
OLED_WR_Byte(0x29,OLED_CMD); //29向右
OLED_WR_Byte(0x00,OLED_CMD); //A:空位元組
OLED_WR_Byte(0x00,OLED_CMD); // B:水平起始頁
OLED_WR_Byte(0x07,OLED_CMD); //C:水平滾動速度
OLED_WR_Byte(0x07,OLED_CMD); //D:水平結束頁
OLED_WR_Byte(0x01,OLED_CMD); //E:每次垂直滾動位移
OLED_WR_Byte(0x2F,OLED_CMD); //開滾動
}
- 修改main.c
#include "delay.h"
#include "sys.h"
#include "oled.h"
#include "gui.h"
#include "test.h"
int main(void)
{
delay_init(); //延時函式初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設定NVIC中斷分組2:2位搶佔優先順序,2位響應優先順序
OLED_Init(); //初始化OLED
OLED_Clear(0); //清屏(全黑)
while(1)
{
GUI_ShowCHinese(20,25,16,"資訊科學與工程學院",1);
delay_ms(50);
roll();
}
}
- 編譯,燒錄,顯示如下
相關文章
- 基於SPI/IIC介面的OLED資料顯示
- 基於SPI的0.96OLED資料顯示溫溼度
- 基於IIC介面的OLED資料顯示
- 基於STM32的脈搏心率檢測儀(OLED可以實時顯示脈衝波形)
- OLED的波形曲線、進度條、圖片顯示(STM32 HAL庫 模擬SPI通訊 5線OLED螢幕)詳細篇
- STM32開原始碼——OLED漢字顯示程式原始碼
- stm32 SPI
- 基於 JSONModel 資料模型的列表控制元件顯示資料的深入討論試讀版JSON模型控制元件
- element table不顯示任何資料,無資料倒是顯示出無資料的了
- NUC980 執行 RT-Thread 驅動 SPI 介面 OLED 播放 badapplethreadAPP
- 媲美OLED同時比OLED還便宜!HKC Mini LED顯示器上手
- MCU的SPI通訊介面
- Linux基礎命令---mysqlshow顯示資料庫LinuxMySql資料庫
- 新款iPad Pro的OLED顯示皮膚成本可能高於前代機型的Mini LED液晶皮膚iPad
- Swift 空資料介面顯示模組封裝實現Swift封裝
- Omdia:OLED產能將引領平板顯示領域新投資
- Django不顯示CSS的效果(基於Django模板的靜態資源配置問題)DjangoCSS
- PostgreSQL的 SPI_介面函式SQL函式
- 基於 JSONModel 資料模型的 SAP UI5 列表控制元件分頁顯示資料的完整解決方案試讀版JSON模型UI控制元件
- Java基於API介面爬取商品資料JavaAPI
- Omdia:主要桌上型顯示器品牌在2022年專注於OLED皮膚
- charles 抓取到的 https 介面顯示為 unknown 且所有資料均為亂碼的情況HTTP
- SPI介面在LCD上的應用
- 基於SPI的增強式外掛框架設計框架
- win10 如何顯示隱藏資料夾_win10 如何顯示隱藏的資料夾Win10
- 基於角色的訪問控制並根據不同的場景顯示不同的反饋資訊
- win10怎麼顯示隱藏資料夾 win10顯示隱藏資料夾的方法Win10
- 基於介面資料變異的App健壯性測試實踐APP
- swagger 的介面標題為啥無法顯示Swagger
- SPI機制剖析——基於DriverManager+ServiceLoader的原始碼分析原始碼
- 資料顯示設定攻略
- IMX6ULL開發板spi OLED驅動
- Oracle OCP(07):顯示來自多個表的資料Oracle
- Java基於API介面爬取淘寶商品資料JavaAPI
- win10如何設定自動顯示資料夾大小_win10怎麼顯示資料夾的大小Win10
- STM32學習之SPI序列通訊
- webapi 配置介面註釋顯示WebAPI
- 三星顯示器將於11月30日開始量產34、55和65英寸的QD-OLED