C 代码实现中文显示功能 - show_chinese 函数详解
void show_chinese(uint16_t x, uint16_t y, uint8_t *p, uint16_t wordColor, uint16_t backColor)\n{\n\tuint8_t i, wordByte ;\n \t uint16_t color, wordNum;\n \t u8 k=0;\n\t while(*p != '\0')\n\t {\n\t\t for(wordNum=0; wordNum<3; wordNum++)\n\t\t {\n\t\t\t if(*p==chinese[wordNum].Index[0] && *(p+1)==chinese[wordNum].Index[1])\n\t\t\t { \n\t\t\t\t tft_set_window(x, y, x+15, y+15); \n\t\t\t\t for(wordByte = 0; wordByte < 32; wordByte++)\n\t\t\t\t {\n\t\t\t\t\t uint8_t color = chinese[wordNum].Msk[wordByte];\n\t\t\t\t\t for (k = 0; k<8; k++) \n\t\t\t\t\t {\n\t\t\t\t\t\t if ((color&0x80) == 0x80)\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t tft_wrdat(wordColor);\n\t\t\t\t\t\t }\n\t\t\t\t\t\t else\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t tft_wrdat(backColor);\n\t\t\t\t\t\t }\n\t\t\t\t\t\t color = color << 1;\n\t\t\t\t\t }\n\t\t\t\t }\n\t\t\t\t p+=2;\n\t\t\t\t x += 16;\n\t\t\t\t if(x > 225)\n\t\t\t\t {\n\t\t\t\t\t x = 0;\n\t\t\t\t\t y += 16; \n\t\t\t\t }\n\t\t\t } \n\t\t }\n\t }\n}
原文地址: https://www.cveoy.top/t/topic/pRM6 著作权归作者所有。请勿转载和采集!