beixue 发表于 2009-5-20 09:33:32

如何将字模数组定义在flash区中

我把字模数组存储在xxxx.h中 定义如下
const extern char write_chinese[] PROGMEM={

//测
        {0x89,0xF2,0x00,0xFF,0x01,0xF9,0xFF,0x00,0xFC,0x00,0xFF,0x00,0x00,0x07,0x04,0x04,0x02,0x01,0x02,0x04,0x01,0x04,0x07,0x00},
//试
        {0x11,0xF6,0x00,0x04,0x24,0xE4,0x24,0x24,0xFF,0x05,0x06,0x00,0x00,0x07,0x02,0x01,0x02,0x03,0x01,0x01,0x01,0x02,0x07,0x00},
//程
        {0x8A,0x6A,0xFF,0x49,0x20,0xAF,0xA9,0xE9,0xA9,0xAF,0x20,0x00,0x01,0x00,0x07,0x00,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0x00},
//序
        {0x00,0xFE,0x42,0x4A,0x4A,0x5B,0xEA,0x5A,0x4A,0xC2,0x42,0x00,0x06,0x01,0x00,0x00,0x04,0x04,0x07,0x00,0x00,0x00,0x00,0x00},
        };
可是编译完成后与以前没加PROGMEM关键字编译后的progam与data的空间大小没有变化,我此时的数组是否已经存储到flsh中呢?谢谢!

flywater 发表于 2009-6-7 00:04:41

总不能第一次出现就搞成外部的吧,这样应该是没存到FLASH中去。
应该搞成这样:
const char write_chinese[] PROGMEM={ ........
如果其它模块要用到它,再:
const extern char        write_chinese[] PROGMEM;

一往无前 发表于 2014-8-30 14:19:51

flywater 发表于 2009-6-7 00:04
总不能第一次出现就搞成外部的吧,这样应该是没存到FLASH中去。
应该搞成这样:
const char write_chinese[ ...

你用的是什么编程软件,IAR FOR RAV 里面不支持
页: [1]
查看完整版本: 如何将字模数组定义在flash区中