国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

STM32F103基于spi實現OLED顯示

xfee / 3902人閱讀

摘要:文章目錄一原理二實現顯示中文滾動顯示顯示字符串讀取溫濕度顯示溫濕度三結果開機顯示歡迎信息循環讀取溫濕度以及滾動顯示我的四總結五參考六源碼一原理的定義就是串行外圍設備接口。

一、原理

SPI的定義
SPI(Serial Peripheral Interface)就是串行外圍設備接口。
SPI,是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,節約了芯片的管腳。SPI 是一個環形總線結構,由 ss(cs)、sck、sdi、sdo 構成,時序主要是在 sck 的控制下,兩個雙向移位寄存器進行數據交換。
上升沿發送、下降沿接收、高位先發送。
上升沿到來的時候,sdo 上的電平將被發送到從設備的寄存器中。
下降沿到來的時候,sdi 上的電平將被接收到主設備的寄存器中。

二、實現

代碼過于多,只展示部分核心代碼.更多代碼可以直接下載源碼

1.顯示中文

把需要顯示的中文字符存放在該文件里面

通過提取子模軟件提取對應漢字的點陣,點陣大小為16*16

在main函數中調用顯示中文的函數

	GUI_ShowCHinese(10,0,16,"重慶交通大學",1);

函數原型

  • x為相對于屏幕左邊偏移量
  • y為相對于屏幕上邊偏移量
  • hsize為點陣大小,選擇16
  • str為顯示的字符串
  • mode為模型,選擇1
    其他顯示函數參數大同小異

2.滾動顯示

水平滾動

	OLED_WR_Byte(0x2E,OLED_CMD); //關閉滾動	OLED_WR_Byte(0x27,OLED_CMD); //水平向左或者右滾動 26/27	OLED_WR_Byte(0x00,OLED_CMD); //虛擬字節	OLED_WR_Byte(0x00,OLED_CMD); //起始頁 0	OLED_WR_Byte(0x07,OLED_CMD); //滾動時間間隔	OLED_WR_Byte(0x02,OLED_CMD); //終止頁 2	OLED_WR_Byte(0x00,OLED_CMD); //虛擬字節	OLED_WR_Byte(0xFF,OLED_CMD); //虛擬字節		//博客id	GUI_ShowCHinese(10,0,16,"醉意丶千層夢",1);		//開啟滾動	OLED_WR_Byte(0x2F,OLED_CMD);

垂直滾動

OLED_WR_Byte(0x2e,OLED_CMD);        //關閉滾動OLED_WR_Byte(0x29,OLED_CMD);        //水平垂直和水平滾動左右 29/2aOLED_WR_Byte(0x00,OLED_CMD);        //虛擬字節OLED_WR_Byte(0x00,OLED_CMD);        //起始頁 0OLED_WR_Byte(0x07,OLED_CMD);        //滾動時間間隔OLED_WR_Byte(0x07,OLED_CMD);        //終止頁 1OLED_WR_Byte(0x01,OLED_CMD);        //垂直滾動偏移量OLED_WR_Byte(0x2F,OLED_CMD);        //開啟滾動

3.顯示字符串

	GUI_ShowString(10,24,"631907060520",16,1);

函數原型

  • x為相對于屏幕左邊偏移量
  • y為相對于屏幕上邊偏移量
  • chr為顯示的字符串
  • Char_Size為字體大小,可以選擇16
  • mode 默認選擇1即可

4.讀取溫濕度

參考前面的博客STM32F103基于I2C協議的AHT20溫濕度傳感器的數據采集 了解如何獲取溫濕度的值

		AHT20_Read_CTdata(CT_data);;  //crc校驗后,讀取AHT20的溫度和濕度數據 		c1 = CT_data[0]*1000/1024/1024;  //計算得到濕度值c1(放大了10倍)		t1 = CT_data[1]*2000/1024/1024-500;//計算得到溫度值t1(放大了10倍)		//轉為字符串易于顯示		temp[0]=t1/100+"0";		temp[1]=(t1/10)%10+"0";		temp[2]=".";		temp[3]=t1%10+"0";		temp[4]="/0";				hum[0]=c1/100+"0";		hum[1]=(c1/10)%10+"0";		hum[2]=".";		hum[3]=c1%10+"0";		hum[4]=32;		hum[5]="%";		hum[6]="/0";

5.顯示溫濕度

		//顯示溫度		GUI_ShowCHinese(15,28,16,"溫度",1);		GUI_ShowString(47,28,":",16,1);		GUI_ShowString(62,28,temp,16,1);		GUI_ShowCHinese(96,28,16,"℃",1);		//顯示濕度		GUI_ShowCHinese(15,48,16,"濕度",1);		GUI_ShowString(47,48,":",16,1);		GUI_ShowString(62,48,hum,16,1);

三、結果

1.開機顯示歡迎信息

2.循環讀取溫濕度以及滾動顯示我的id

四、總結

結合oled顯示數據,可以使得數據可視化更加方便

五、參考

六、源碼

1.github

https://github.com/TangtangSix/Stm32OLED

2.gitee

https://gitee.com/tangtangsix/Stm32OLED
.

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/124048.html

相關文章

  • 基于STM32平臺的數字溫度顯示器系統設計

    摘要:帶中文字庫的是一種具有位位并行線或線串行多種接口方式,內部含有國標一級二級簡體中文字庫的點陣圖形液晶顯示模塊其顯示分辨率為。貼片按鍵模塊支持標準的協議,完整的協議棧。以最低成本提供最大實用性,為功能嵌入其他系統提供無限可能。 項目簡介 開發環境: Keil5.14,CubeMX6.0.1,主...

    villainhr 評論0 收藏0
  • STM32學習筆記 第二章 STM32資源介紹

    摘要:總線掛載的外設有等。外設地址映射片上外設區分為三條總線,根據外設速度的不同,不同總線掛載著不同的外設,掛載低速外設,和掛載高速外設。 第二章 STM32資源介紹 2...

    G9YH 評論0 收藏0
  • 基于STM32f103c8t6和L292N驅動設計避障小車(核心函數的建立為自己所寫)

    基于STM32f103c8t6和L292N驅動設計避障小車(核心函數的建立為自己所寫) 一.項目感觸 完成這個項目自己一開始也是無法從本身上出發,看著這個最小系統板和這個電機驅動模塊上面想著怎樣實現讓這兩塊板子實現四個電機上面轉動呢,還要加入避障模塊,自己一開始一頭霧水,于是開始了漫長的借鑒之路,首先作為一個開發者,我覺得學習的地方首選是B站,所以我找了相關的做智能小車的視頻 首先是B站智能小車教...

    CoffeX 評論0 收藏0
  • 移植OpenHarmony到星空派ARM芯片【1】

    摘要:已初始化的讀寫數據,程序中定義并且初始化的全局變量和靜態變量位于此處。好了,初步移植要點講完了,下一篇文章講內核配置文件函數啟動后如何進入鴻蒙輕量內核。 9月30日,OpenHarmony 3.0 LTS版本發布,新版介紹見OpenHarmony 3.0 發布:OpenHarmony 3.0...

    mist14 評論0 收藏0

發表評論

0條評論

xfee

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<