<span style="color: #333333"> 在编写带有点阵液晶模块的程序时,需要将字模数据写成结构型数组,程序的表达比较清晰,在C51中我们都已经习惯于这样写,虽然会多占用几个字节空间, 但是对扩展维护很有利。以前我曾将这种结构用于ICCAVR中,没有遇到问题。但不久前有网友用CVAVR却遇到了麻烦,怎么写都通不过,原因是CVAVR在这方面的语言格式要求比较严谨,必须严格按照C语言的格式书写,否则就会报错,而且所报的错误有点莫名其妙,有时仅说你漏了一个分号或者是漏了一个花括号,让人无从下手,现在我们给出一个实例的演示代码,供大家参考。
#include
char tt[32];
flash struct flash_structure{ // 定义汉字字模数据结构
signed char Index[4]; // 这里一定要定义成偶数,大于2
char Msk[32]; // 点阵码部分,大于等于点阵码字节数
} GB_16[2] ={
{"中", {0x01,0x00,0x01,0x00,0x21,0x08,0x3F,0xFC,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,
0x21,0x08,0x3F,0xF8,0x21,0x08,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00}},
{"文", {0x02,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x08,0x20,0x08,0x20,0x08,0x20,0x04,0x40,
0x04,0x40,0x02,0x80,0x01,0x00,0x02,0x80,0x04,0x60,0x18,0x1E,0xE0,0x08,0x00,0x00}}
};
void main(void) // 测试用
{
unsigned char i;
for(i=0;i |