主函式實驗結果
總結本文使用spi 通訊的oled螢幕,晶元使用的是stm32f103zet6。oled模組整體來說比較簡單,就是加字模,調函式的過程。初學者可以好好看看裡面包含的函式,還是很有趣的。
oled,即有機發光二極體。oled由於同時具備自發光,不需要光源、對比度高、厚度薄、視角廣、反應速度快、可用於撓曲性板、使用溫度範圍廣、構造及製程較簡單等優異之特性,被認為是下一代的平面顯示技術。
lcd都需要背光,而 oled 不需要,因為它是自發光的。這樣同樣的顯示, oled 效果要
來得好一些。 以目前的技術, oled 的尺寸 還難以大型化,但是解析度確可以做 到很高。在本章中 ,我們使用的是 alinetek 的 oled 顯示模組;
該模組有以下特點:
模組有單色和雙色兩種可選,單色為 純藍色 ,而雙色則為黃藍雙色。
尺寸小,顯示尺寸為 0.96 寸,而模組的尺寸僅為 27mm*26mm 大小。
高解析度,該模組的解析度為 128*64 。
多種介面方式,該模組提供了總共 5 種介面包括: 6800 、 8080 兩種並行介面方式、3
線或 4 線的穿行 spi 介面方式, iic 介面方式(只需要 2 根線就可以控制 oled 了!)。
不需要高壓,直接接 3.3v 就可以工作了。
引腳連線:
oled
stm32
vcc3v3 或 5v
d0pd6(scl)
d1pd7(sda)
respd4
dcpd5
cspd3
其中,cs 可以不用連線。
需要找乙個oled的例程,在例程裡進行修改。(一般商家會提供例程)
學號顯示可以使用顯示字串的函式,姓名則需要顯示漢字的函式。
注意:顯示漢字時,需要將漢字的點陣(利用軟體生成點陣)放到存放點陣的檔案中。
顯示字串函式
void
oled_showstring
(u8 x,u8 y,u8 *chr)
j++;}
}
例:oled_showstring(32,0,"********");顯示漢字函式其中x,y是定義顯示的位置,chr代表字串。將收到的字串存入字元陣列中,按字元的方式輸出。
void
oled_showchinese
(u8 x,u8 y,u8 no)
oled_set_pos
(x,y+1)
;for
(t=0
;t<
16;t++
)}
例:oled_showchinese(16,0,1);用oled 顯示aht20 測試的溫濕度,就需要將aht20 的模組加入到工程中。詳細步驟參見鏈結。其中的x,y依然定義顯示的位置,後面的no表示你存入字模的陣列下標。
然後,將aht20中的主函式也移植到工程的主函式中,注意重定義問題。
由於顯示溫濕度是使用的數字顯示,所以就需要使用到顯示數字的函式。
顯示數字函式
void
oled_shownum
(u8 x,u8 y,u32 num,u8 len,u8 size)
else enshow=1;
}oled_showchar
(x+(size/2)
*t,y,temp+
'0');}
}
例:oled_shownum(48,2,c1,2,16);新增所需要用到的字模到字模檔案中去,依次呼叫其中的文字,然後利用程式設計進行迴圈顯示即可。其中x,y的含義和上面是相同的,num表示數字或者變數的值,len表示顯示數字的位數,size表示顯示數字的字型大小。
從函式中可以看出來,顯示數字也是按照顯示字元的方式來顯示的。
#include
"delay.h"
#include
"sys.h"
#include
"oled.h"
#include
"led.h"
#include
"aht20.h"
#include
"myiic.h"
#include
"usart.h"
int32_t main
(void
)oled_init()
;//初始化oled
oled顯示就是呼叫oled裡面的函式,然後在螢幕中進行顯示的過程。一般用來顯示字元、字串、漢字以及一些小一點的也是能顯示的。文字的顯示都是有對應的點陣的,才能夠進行顯示。
了解oled的使用就是對oled呼叫函式的了解,請大佬指導糾錯。
STM32之間SPI通訊
這幾天實驗室比較忙,所以部落格這邊停了一下,繼續吧。繼串列埠中斷後,大家可以嘗試微控制器間串列埠通訊,這裡就不再多贅述。串列埠完了之後,我接著學的就是spi通訊了,作為hello moto公司推出的這種4線全雙工通訊,很節約pcb布局空間,但缺點就是沒有指定的流控制,沒有應答機制來確定訊號收到與否,...
STM32 快速上手SPI
基本的部分前文 stm32 spi 已經介紹過了,這裡只記怎麼用。stm32f103zet6的三個spi的引腳分別為 spi1在apb1時鐘下,spi2和spi3在apb2時鐘下。void spi i2s deinit spi typedef spix void spi init spi typed...
STM32基於SPI和AD7192的資料採集
在開發臭氧發生器的時,我們需要乙個高解析度的ad採集,於是選擇了ad7192,選擇這款adc的原因比較簡單。首先它是24位的符合我們的精度要求 其次它自帶時鐘,便於節省空間 第三它有4路單端或2路差分輸入,與我們需要三路採集相符。ad7192是一款適合高精密測量應用的低雜訊完整模擬前端,內建乙個低雜...