5.2 如何使用高通字库库文件

推荐用户使用MindCraft软件制作库文件,目前MindCraft软件仅支持制作使用keil5的AC5编译环境下的ARM32和C51的工程。如果是其他的编译环境,请联系高通字库的技术人员。
MindCraft 生成的资料中,有一个 GTxxxx.hGTxxxx.lib GTxxxx.a 文件, 将h文件 和 liba 文件 拷贝到项目文件中。将 liba 文件 像c文件 一样添加进入项目工程。
 
 
 
 
 

 

在 GTxxxx_readme.txt 文件中,写有本字库型号的函数API接口使用说明,下面是GT21L16S2Y_readme.txt内容:

 

 

  1. /* ---------------------------------------------------------------------------------------------------- *\

     * @brief step 1 :Reference routine, implement the following functions

     *                 参考例程,实现以下函数

     * ---------------------------------------------------------------------------------------------------- */

    /* 外部函数声明 */

    /**

     * @brief 发送读取函数

     * @param sendbuf 发送数据的buff

     * @param sendlen 发送数据长度

     * @param receivebuf 读取数据的buff

     * @param receivelen 读取数据长度

     */

    extern unsigned char gt_read_data(unsigned char* sendbuf , unsigned char sendlen , unsigned char* receivebuf, unsigned int receivelen);

     

    /* ---------------------------------------------------------------------------------------------------- *\

     * @brief step 2 :Initialization 初始化

     * ---------------------------------------------------------------------------------------------------- */

    /**

     * @brief 字库初始化

     * Follow system initialization and place before font library calls 跟随系统初始化,置于字库调用之前

     * @return Initialization Result : return > 0 success.

     *          初始化结果:返回值 > 0为成功

     */

    int GT_Font_Init(void);

     

    /* ---------------------------------------------------------------------------------------------------- *\

     * @brief step 3 :Functions for font libraries 字库调用函数

     * ---------------------------------------------------------------------------------------------------- */

     

    #define ASCII_5X7              1      //ASCII编码5X7点阵

    #define ASCII_7X8              2      //ASCII编码7X8点阵

    #define ASCII_12_A             4      //ASCII编码12x12点阵不等宽Arial风格字符(具体字形看规格书)

    #define ASCII_8X16             5      //ASCII编码8X16点阵

    #define ASCII_16_A             6      //ASCII编码16X16点阵不等宽Arial风格字符(具体字形看规格书)


     

    /*************************************************************

    函数用法:

        unsigned char DZ_Data[数组长度客户自定义];

        ASCII_GetData(0x41,ASCII_5X7,DZ_Data);  //读取5X7点阵 ASCII 编码A的点阵数据,并将点阵数据存在DZ_Data数组中;数据长度为8 BYTE

          ASCII_GetData(0x41,ASCII_7X8,DZ_Data);    //读取7X8点阵 ASCII 编码A的点阵数据,并将点阵数据存在DZ_Data数组中;数据长度为8 BYTE

          ASCII_GetData(0x41,ASCII_12_A,DZ_Data);   //读取12X12点阵 ASCII 编码A的点阵数据,并将点阵数据存在DZ_Data数组中;数据长度为26 BYTE

          ASCII_GetData(0x41,ASCII_8X16,DZ_Data);   //读取8X16点阵 ASCII 编码A的点阵数据,并将点阵数据存在DZ_Data数组中;数据长度为16 BYTE

          ASCII_GetData(0x41,ASCII_16_A,DZ_Data);   //读取16X16点阵 ASCII 编码A的点阵数据,并将点阵数据存在DZ_Data数组中;数据长度为32 BYTE

    *************************************************************/

    unsigned char ASCII_GetData(unsigned char ASCIICode,unsigned long ascii_kind,unsigned char* DZ_Data);;

     

    /*************************************************************

    函数用法:

        unsigned char DZ_Data[数组长度客户自定义];

        gt_12_GetData(0xb0,0xa1,DZ_Data); //读取12X12点阵汉字“啊”的点阵数据,并将点阵数据存在DZ_Data数组中;数据长度为24 BYTE

    *************************************************************/

    unsigned long gt_12_GetData (unsigned char MSB,unsigned char LSB,unsigned char *DZ_Data);

     

    /*************************************************************

    函数用法:

        unsigned char DZ_Data[数组长度客户自定义];

        gt_16_GetData(0xb0,0xa1,DZ_Data); //读取16X16点阵汉字“啊”的点阵数据,并将点阵数据存在DZ_Data数组中;数据长度为32 BYTE

    *************************************************************/

    unsigned long gt_16_GetData (unsigned char MSB,unsigned char LSB,unsigned char *DZ_Data);

     

    /*************************************************************

    函数用法:

        unsigned char DZ_Data[数组长度客户自定义];

        GB_EXT_612(0xAAA1,DZ_Data); //读取6X12点阵国标扩展字符的点阵数据,编码为0xAAA1,并将点阵数据存在DZ_Data数组中;数据长度为12 BYTE

    *************************************************************/

    unsigned long GB_EXT_612(unsigned short FontCode,unsigned char *DZ_Data);

     

    /*************************************************************

    函数用法:

        unsigned char DZ_Data[数组长度客户自定义];

        GB_EXT_816(0xAAA1,DZ_Data); //读取8X16点阵国标扩展字符的点阵数据,编码为0xAAA1,并将点阵数据存在DZ_Data数组中;数据长度为16 BYTE

    *************************************************************/

    unsigned long GB_EXT_816(unsigned short FontCode,unsigned char *DZ_Data);

     

    /*************************************************************

        函数说明:

    参数:

    srcCode :输入unicode内码串

    destCode:转换后得到的GB2312内码串

    *************************************************************/

    unsigned char UnicodeToGB2312(unsigned char *srcCode,unsigned char *destCode);

     

    /*************************************************************

        函数说明:

    参数:

    srcCode :输入GB2312内码串

    destCode:转换后得到的unicode内码串

    *************************************************************/

    unsigned char GB2312ToUnicode(unsigned char *srcCode,unsigned char *destCode);


     

 

 

 

 

    • 联系电话

    • 0755—83453881
    • 服务时间

    • 周一至周五 9:00-18:00
    • 高通GT-HMI交流群