8.1.4 字库驱动程序

 

从高通技术支持处获取字库相应的静态库支持文件,实现静态库h文件中外部声明的函数。

/* 外部函数声明 */

extern unsigned char r_dat_bat(unsigned long address,unsigned long byte_long,unsigned char *p_arr);

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

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

//字库初始化

int GT_Font_Init(void);

实现示例如下:

/**

* @brief 外部声明函数 从address地址读取DataLen字节数据,存储于pBuff数组中

* @param address 读取地址

* @param DataLen 读取字节

* @param pBuff 存放数组

* @return unsigned char

*/

unsigned char r_dat_bat(unsigned long address,unsigned short DataLen,unsigned char *pBuff)

{

spiflash_read(pBuff,address,DataLen);

return 1;

}

/**

* @brief 向字库芯片发送sendlen字节的sendbuf数组数据后,读取receivelen字节数据存放于receivebuf数组

* @param sendbuf 发送数据

* @param sendlen 发送长度

* @param receivebuf 接收数据

* @param receivelen 接收长度

* @return unsigned char

*/

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

{

unsigned int i;

FLASH_CS_LOW();

for(i = 0; i < sendlen;i++)

{

spi_byte_write(sendbuf[i]);

}

for(i = 0; i < receivelen;i++)

{

receivebuf[i] = spi_byte_read();

}

FLASH_CS_HIGH();

return 1;

}

之后在主函数中调用静态库h中声明的GT_Font_Init字库初始化函数,返回值大于0,则说明字库初始化成功。即可调用静态库中声明的函数接口调取不同点阵大小的字库数据并进行显示。

/**

* @brief 显示16点阵汉字与ASCII码8x16点阵混合字符串

* @param page 显示页

* @param column 显示列

* @param text 字符串内容

*/

void display_string_16(unsigned char page,unsigned char column,unsigned char *text)

{

unsigned char i = 0,j = 0,k = 0,w = 0;

unsigned char DZ_Buff[32] = {0};

while(text[i] != 0)

{

if(column > 128)

{

column = 1;

page += 2;

}

if(text[i] > 0x7f){//获取16x16中文字形数据

gt_16_GetData (text[i],text[i+1],DZ_Buff);

w = 16;

}else{//获取8x16ASCII码字形数据

ASCII_GetData(text[i],ASCII_8X16_A,DZ_Buff);

w = 8;

}

 

for(k = 0; k < 2; k++) //16的高 等于2页

{

lcd_address(page+k,column);

for(j = 0; j < w; j++)

{

WriteData(DZ_Buff[k*w + j]);

}

}

column += w;

}

}

主函数的调用情况如下:

int main(void)

{

system_clock_config();

nvic_priority_group_config(NVIC_PRIORITY_GROUP_4);

at32_board_init();

spiflash_init(); //SPI接口初始化

OLED_init(); //屏幕初始化

GT_Font_Init(); //字库初始化

display_string_16(1,1,"Hello,高通字库");

while(1)

{

}

}

 

 

9注意事项

1.请勿拆卸液晶显示模块。

2.不要在印制电路板上钻额外的孔 ,修改形状或更改印制线路板上元件的位置。

3.除焊接接口外 ,不要用烙铁做任何更改;焊接温度保证在 320°C-350°C ,焊接时间控制在10S以内 ,焊接时注意不要在同一处停留时间太久以免烫伤 FPC。

4.其他事项在不清楚使用之前 ,请联系我司人员指导进行。

上一页
    • 联系电话

    • 0755—83453881
    • 服务时间

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