熟悉AVR的请给我解答
#include <io8515v.h>
#include <macros.h>
extern unsigned char buff[50];
void mapping_init(void)
{
asm(
".area memory(abs)\n"
".org 0x0270\n"
" _buff:: .blkb 50\n"
".text\n"
);
}
void port_init(void)
{
PORTA = 0xFF;
DDRA = 0x00;
PORTB = 0xFF;
DDRB = 0x00;
PORTC = 0xFF;
DDRC = 0x00;
PORTD = 0xFF;
DDRD = 0x00;
}
void init_devices(void)
{
CLI();
mapping_init();
port_init();
MCUCR = 0x80;
GIMSK = 0x00;
TIMSK = 0x00;
SEI();
}
void main( )
{ int i=0;
WDTCR=0x18;
WDTCR=0x00;
init_devices();
for (i=0; i <50;i++) buff[i]=0x88;
}
想对外存空间0x270开始的50字节赋值,用AVRstudio4.05仿真,看externed Memory空间,一直是0xff,不能被写入0x88,为什么?
发表时间:2003年12月19日0:46:59