有屏幕的地方就有華強買瓜(STM32H743VIT6重制版還有中文字庫

在我自制的字庫里面,字模是和unicode編碼一一對應的.具體來說就是unicode編碼表的漢字區(qū)域首字符0x4e00放到字庫文件第0到31字節(jié)處,0x4e01放到第32到63字節(jié)處,以此類推可以得到所有字模在文件中的位置.
在初始化的時候先調(diào)用FATFS把文件打開,然后根據(jù)unicode計算偏移量并移動文件指針到相應位置然后讀32字節(jié)得到字模.
但是utf8編碼畢竟不是unicode編碼,不能直接輸出到oled屏幕上,需要先轉(zhuǎn)碼,雖然windows api提供了編碼轉(zhuǎn)換的函數(shù),csharp有System.Text.Encoding類實現(xiàn)這個操作,不過顯然對于STM32上面方法都不好使,只能用C語言自行實現(xiàn).好在這個函數(shù)如果會指針和位運算就能寫出來,可以參考下面這個圖.

至此STM32的中文OLED顯示就基本完成了.由于編程時采用HAL庫和封裝底層,可以較易的移植到STM32F411CEU6和STM32F103C8T6等其他最小系統(tǒng)板上.
標簽: