我在网上找到一个小电视的项目,就想照着它的思路手敲一遍代码。用到了TFT_eSPI库,其中有一块代码功能是在tft屏上显示汉字(正常只能打印英文),就是取中文字模当图显示。
↑这是字库
被我注释掉的是原来的函数。我发现for循环里的hanzi[k].Index[0] == c[0] && hanzi[k].Index[1] == c[1] && hanzi[k].Index[2] == c[2] 好像有点问题,上传以后不断抛出异常,我一开始以为是for循环有问题,但是我删了if语句后让它循环从串口输出"Hello"这类普通字符是可以的,一旦遍历hanzi[k].hz_id这类要遍历字库的东西它就和之前一样了,我上网查了之后好像是说堆栈空间溢出了,但是在字库那里我了解了一下PROGMEM关键字就是为了解决这一情况的(把变量存入闪存空间),所以已经不知所措了。 上图是我想让它遍历字库找到字就输出!Find,结果和之前一样报错。 在这里麻烦各位抽出时间帮我看一下子,谢谢大家.
|