• Keil uvison 4.7学习笔记


    Keil 汉字字符处理

          由于目前在做的项目中需要进行液晶显示界面设计,因此涉及到汉字字符的处理问题,最开始不知道怎么去处理汉字字符,所以为了避免问题,在已有字库的基础上,直接引用汉字字符所在的位置进行编程设计,具体引用方法如下:

     1 const uint8_t CHINESE_12[][24]=
     2 {
     3     {   0x00,0xF8,0x88,0x88,0x88,0xFF,0x88,0x88,0x88,0xF8,0x00,0x00,
     4         0x00,0x01,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x01,0x00,0x00
     5     },//0:中
     6 
     7     {   0x12,0xD2,0xFE,0x51,0x90,0x12,0x24,0x00,0xFF,0x80,0x80,0x00,
     8         0x01,0x00,0x0F,0x00,0x00,0x01,0x01,0x01,0x0F,0x00,0x00,0x00
     9     },//1:科
    10 
    11     {   0x78,0x00,0xFF,0x08,0x12,0xFA,0x4A,0x4A,0x4A,0xFA,0x02,0x00,
    12         0x00,0x00,0x0F,0x00,0x08,0x0B,0x0A,0x0A,0x0A,0x0B,0x08,0x00
    13     },//2:恒

    例如我要显示“中”字符,我可能会直接采用“中”所在位置进行编程,引用代码如下:

    1  LCD_DISPLAY_CHAR(6, 118, X_HZ, CHINESE_12[0]); //下翻

          采用此种编程设计,具有很大的问题,一旦界面需要修改,就必须先写出需要显示的汉字,然后找出对应的字库编码,最后把字库编码填写进去;这是个很愚蠢的做法,导致代码维护相当的不方便,例如下面的界面显示:

    1 uint16_t MSG[4][5] =       //系统信息
    2     {
    3         {'', '', '', ''},
    4         {'', '', '', ''},
    5         {'', '', '', ''},
    6         {'', '', '', ''},
    7     };

          这个项目初步估计需要30-40个中文显示界面,如果采用这种设计思路,我得死了很多回了,所以在程序设计一开始就摒弃了这种设计思路,但是怎么做才能更好地去实现字符显示呢,后来参照别人的程序,然后阅读了汉字字符编码的相关知识,所以采用了一种设计思路,具体显示方法如下:

  • 相关阅读:
    logistic regression svm hinge loss
    matlab
    deep learning学习记录三
    deep learning学习记录二
    JavaScript自定义方法实现trim()、Ltrim()、Rtrim()
    php 用户验证的简单示例
    php用户验证代码的简单例子
    php验证复选框的小例子
    二招解决php乱码问题
    PHP页面中文乱码分析
  • 原文地址:https://www.cnblogs.com/qiufenghui/p/3053202.html
Copyright © 2020-2023  润新知