马老师,请问一下我用M128,其中我做了点阵的字库放在FLASH中,如果放在高64K中我怎么
马老师,请问一下我用M128,其中我做了点阵的字库放在FLASH中,如果放在高64K中我怎么样才能读出来.我用的是WINAVR这个免费的软件.可不可用标准C读出来?
比如这样子.
unsigned char const M_code[]={
0x00,0x10,…………
}
void test_disp(void)
{unsigned char flash_code;
flash_code = M_code;
}
不知这样子能不能读出来?在低64K可以读取。在高64K时怎么办? 你確認你這樣寫程序是把它放在FLASH中嗎?
#include <avr/pgmspace.h>
const prog_uchar led_display_array[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,
0x82,0xF8,0x80,0x90};
.
.
.
recedata=4;
PORTA=pgm_read_byte(led_display_array+recedata);
.
.
.
讀出來對與錯很容易從軟件仿真裡看出來的。詳細看一下WinAVR的User Manual,很容易的。 谢谢. 看芯片手册128的存储器组织应该是64K*16BIT,所以你直接对FLASH访问 unsigned int 就可以读出来,不存在高64K和低64K的说法。 makesoft 发表于 2005-7-5 15:24 static/image/common/back.gif
看芯片手册128的存储器组织应该是64K*16BIT,所以你直接对FLASH访问 unsigned int 就可以读出来,不存在高6 ...
太感谢了,启发甚大!
页:
[1]