[AVR单片机] 数组 查表

[复制链接]
 楼主| fcw 发表于 2015-12-22 11:02 | 显示全部楼层 |阅读模式
const prog_uchar tab2[]={

/*------------------------------------------------------------------------------
;  若数据乱码,请检查字模格式设置,注意选择正确的取模方向和字节位顺序。
;  源文件 / 文字 : 扬
;  宽×高(像素): 16×16
;  字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/32字节
;  数据转换日期  : 2015/12/22 9:11:44
------------------------------------------------------------------------------*/
0x00,0x08,0x08,0xFF,0x88,0x08,0x21,0xB1,0x69,0x25,0x25,0xE3,0x21,0xE0,0x00,0x00,
0x00,0x21,0x21,0x3F,0x00,0x04,0x22,0x11,0x08,0x04,0x03,0x20,0x20,0x1F,0x00,0x00,
};

void hz11(unsigned char x,unsigned char y)
{
   unsigned char i=1;
   Writecom1(0xb8);
   Writecom1(0x40);
   Writedata1(tab2[i]);
}

表格数据在LCD12864.C文件中,发现在运行时(tab2[i])查表数据不对,是什么原因呢?
试过数组和查表都在main.c的时候就可以查到正确的值。


JY-DX-JY 发表于 2015-12-22 11:18 | 显示全部楼层
声明了吗?
airwill 发表于 2015-12-25 20:01 | 显示全部楼层
Writedata1(tab2[i]);

不能这样访问 FLASH 里的表格, 要使用 pgm_read_byte() 函数去访问才行.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

fcw

21

主题

66

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部