STM32 OLED顯示流程(簡略)
前兩天剛學(xué)了戰(zhàn)艦的OLED顯示實(shí)驗(yàn),下面是我總結(jié)的OLED顯示方法:
比如我們想讓OLED顯示屏顯示一個(gè)字符串:“CODE”,主函數(shù)是這么兩條語句:,(63和48是字符串在屏幕中顯示的位置,這里我們不管他。。)這兩條語句的拆解步驟如下:
1、既然是顯示字符串,我們就得調(diào)用字符串顯示函數(shù):
2、這個(gè)字符串顯示函數(shù)通過指針*p不斷調(diào)用字符顯示函數(shù):來顯示字符串中的每個(gè)字符
3、字符是怎么組成的?由點(diǎn)組成的嘛。。在OLED_ShowChar()函數(shù)中又調(diào)用畫點(diǎn)函數(shù):把每個(gè)字符的點(diǎn)陣全部畫完(如1206,1608,2412)
4、每次畫一個(gè)點(diǎn)不能沒地方保存吶。所以我們再STM32的SRAM中開辟的一塊128*8字節(jié)(128*8*8位)的空間OLED_GRAM[128][8]。用來存放每個(gè)點(diǎn)對應(yīng)屏幕上的坐標(biāo),也就是OLED_GRAM中保存了所有點(diǎn)的坐標(biāo)
5、以上都是圍繞著字符串顯示函數(shù)?,F(xiàn)在終于到第二條語句:OLED_Refresh——Gram()語句了。這個(gè)語句的作用就是把我們之前在系統(tǒng)里開辟的那段128*8字節(jié)空間(OLED_GRAM[128][8]),里的數(shù)據(jù)通過兩個(gè)for循環(huán)全部更新到(寫入)SSD1306(OLED模塊控制器)的GRAM中。
怎么寫入呢?這里又調(diào)用了OLED_WR_Byte()函數(shù)。這個(gè)函數(shù)作用是向SSD1306中寫入一個(gè)字節(jié)數(shù)據(jù)。
6、最后,由于之前對OLED進(jìn)行過初始化,字符串就顯示在屏幕上了。。。。。。