我在網(wǎng)上找到一個小電視的項(xiàng)目,就想照著它的思路手敲一遍代碼。用到了TFT_eSPI庫,其中有一塊代碼功能是在tft屏上顯示漢字(正常只能打印英文),就是取中文字模當(dāng)圖顯示。
3.png (33.66 KB, 下載次數(shù): 11)
下載附件
2023-1-26 13:46 上傳
4.png (38.21 KB, 下載次數(shù): 12)
下載附件
2023-1-26 13:46 上傳
↑這是字庫
1.png (57.42 KB, 下載次數(shù): 12)
下載附件
2023-1-26 13:44 上傳
被我注釋掉的是原來的函數(shù)。我發(fā)現(xiàn)for循環(huán)里的hanzi[k].Index[0] == c[0] && hanzi[k].Index[1] == c[1] && hanzi[k].Index[2] == c[2] 好像有點(diǎn)問題,上傳以后不斷拋出異常,我一開始以為是for循環(huán)有問題,但是我刪了if語句后讓它循環(huán)從串口輸出"Hello"這類普通字符是可以的,一旦遍歷hanzi[k].hz_id這類要遍歷字庫的東西它就和之前一樣了,我上網(wǎng)查了之后好像是說堆棧空間溢出了,但是在字庫那里我了解了一下PROGMEM關(guān)鍵字就是為了解決這一情況的(把變量存入閃存空間),所以已經(jīng)不知所措了。 上圖是我想讓它遍歷字庫找到字就輸出!Find,結(jié)果和之前一樣報(bào)錯。 在這里麻煩各位抽出時間幫我看一下子,謝謝大家.
|