成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

STM32F103基于spi實(shí)現(xiàn)OLED顯示

xfee / 3935人閱讀

摘要:文章目錄一原理二實(shí)現(xiàn)顯示中文滾動(dòng)顯示顯示字符串讀取溫濕度顯示溫濕度三結(jié)果開(kāi)機(jī)顯示歡迎信息循環(huán)讀取溫濕度以及滾動(dòng)顯示我的四總結(jié)五參考六源碼一原理的定義就是串行外圍設(shè)備接口。

一、原理

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

二、實(shí)現(xiàn)

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

1.顯示中文

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

通過(guò)提取子模軟件提取對(duì)應(yīng)漢字的點(diǎn)陣,點(diǎn)陣大小為16*16

在main函數(shù)中調(diào)用顯示中文的函數(shù)

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

函數(shù)原型

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

2.滾動(dòng)顯示

水平滾動(dòng)

	OLED_WR_Byte(0x2E,OLED_CMD); //關(guān)閉滾動(dòng)	OLED_WR_Byte(0x27,OLED_CMD); //水平向左或者右滾動(dòng) 26/27	OLED_WR_Byte(0x00,OLED_CMD); //虛擬字節(jié)	OLED_WR_Byte(0x00,OLED_CMD); //起始頁(yè) 0	OLED_WR_Byte(0x07,OLED_CMD); //滾動(dòng)時(shí)間間隔	OLED_WR_Byte(0x02,OLED_CMD); //終止頁(yè) 2	OLED_WR_Byte(0x00,OLED_CMD); //虛擬字節(jié)	OLED_WR_Byte(0xFF,OLED_CMD); //虛擬字節(jié)		//博客id	GUI_ShowCHinese(10,0,16,"醉意丶千層夢(mèng)",1);		//開(kāi)啟滾動(dòng)	OLED_WR_Byte(0x2F,OLED_CMD);

垂直滾動(dòng)

OLED_WR_Byte(0x2e,OLED_CMD);        //關(guān)閉滾動(dòng)OLED_WR_Byte(0x29,OLED_CMD);        //水平垂直和水平滾動(dòng)左右 29/2aOLED_WR_Byte(0x00,OLED_CMD);        //虛擬字節(jié)OLED_WR_Byte(0x00,OLED_CMD);        //起始頁(yè) 0OLED_WR_Byte(0x07,OLED_CMD);        //滾動(dòng)時(shí)間間隔OLED_WR_Byte(0x07,OLED_CMD);        //終止頁(yè) 1OLED_WR_Byte(0x01,OLED_CMD);        //垂直滾動(dòng)偏移量OLED_WR_Byte(0x2F,OLED_CMD);        //開(kāi)啟滾動(dòng)

3.顯示字符串

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

函數(shù)原型

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

4.讀取溫濕度

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

		AHT20_Read_CTdata(CT_data);;  //crc校驗(yàn)后,讀取AHT20的溫度和濕度數(shù)據(jù) 		c1 = CT_data[0]*1000/1024/1024;  //計(jì)算得到濕度值c1(放大了10倍)		t1 = CT_data[1]*2000/1024/1024-500;//計(jì)算得到溫度值t1(放大了10倍)		//轉(zhuǎn)為字符串易于顯示		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);

三、結(jié)果

1.開(kāi)機(jī)顯示歡迎信息

2.循環(huán)讀取溫濕度以及滾動(dòng)顯示我的id

四、總結(jié)

結(jié)合oled顯示數(shù)據(jù),可以使得數(shù)據(jù)可視化更加方便

五、參考

六、源碼

1.github

https://github.com/TangtangSix/Stm32OLED

2.gitee

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

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/124048.html

相關(guān)文章

  • 基于STM32平臺(tái)的數(shù)字溫度顯示器系統(tǒng)設(shè)計(jì)

    摘要:帶中文字庫(kù)的是一種具有位位并行線或線串行多種接口方式,內(nèi)部含有國(guó)標(biāo)一級(jí)二級(jí)簡(jiǎn)體中文字庫(kù)的點(diǎn)陣圖形液晶顯示模塊其顯示分辨率為。貼片按鍵模塊支持標(biāo)準(zhǔn)的協(xié)議,完整的協(xié)議棧。以最低成本提供最大實(shí)用性,為功能嵌入其他系統(tǒng)提供無(wú)限可能。 項(xiàng)目簡(jiǎn)介 開(kāi)發(fā)環(huán)境: Keil5.14,CubeMX6.0.1,主...

    villainhr 評(píng)論0 收藏0
  • STM32學(xué)習(xí)筆記 第二章 STM32資源介紹

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

    G9YH 評(píng)論0 收藏0
  • 基于STM32f103c8t6和L292N驅(qū)動(dòng)設(shè)計(jì)避障小車(核心函數(shù)的建立為自己所寫)

    基于STM32f103c8t6和L292N驅(qū)動(dòng)設(shè)計(jì)避障小車(核心函數(shù)的建立為自己所寫) 一.項(xiàng)目感觸 完成這個(gè)項(xiàng)目自己一開(kāi)始也是無(wú)法從本身上出發(fā),看著這個(gè)最小系統(tǒng)板和這個(gè)電機(jī)驅(qū)動(dòng)模塊上面想著怎樣實(shí)現(xiàn)讓這兩塊板子實(shí)現(xiàn)四個(gè)電機(jī)上面轉(zhuǎn)動(dòng)呢,還要加入避障模塊,自己一開(kāi)始一頭霧水,于是開(kāi)始了漫長(zhǎng)的借鑒之路,首先作為一個(gè)開(kāi)發(fā)者,我覺(jué)得學(xué)習(xí)的地方首選是B站,所以我找了相關(guān)的做智能小車的視頻 首先是B站智能小車教...

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

    摘要:已初始化的讀寫數(shù)據(jù),程序中定義并且初始化的全局變量和靜態(tài)變量位于此處。好了,初步移植要點(diǎn)講完了,下一篇文章講內(nèi)核配置文件函數(shù)啟動(dòng)后如何進(jìn)入鴻蒙輕量?jī)?nèi)核。 9月30日,OpenHarmony 3.0 LTS版本發(fā)布,新版介紹見(jiàn)OpenHarmony 3.0 發(fā)布:OpenHarmony 3.0...

    mist14 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

xfee

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<