Página 1 de 1

memoria externa

MensagemEnviado: 09 Set 2007 14:38
por deniro
alguem sabe como enviar dados na memoria mapeada ultilizando o compilador keil linguagem C.

MensagemEnviado: 09 Set 2007 18:07
por Maurício
Enviar dados na memória mapeada?

Num entendí nada, mas, se a sua dúvida é como armazenar um dado numa memória externa, pelo keil é só declarar a área da memória como externa:

Código: Selecionar todos
char xdata minha_var;
int xdata minha_int;
char xdata minha_string [ ] = "STRING";


Era isso?

[]'s

MensagemEnviado: 10 Set 2007 07:30
por deniro
Bom vou ser mais claro. Eu quero enviar um dado no endereço 0x8000 como faço.

MensagemEnviado: 10 Set 2007 07:44
por andre_luis
Utilizando o arquivo #include apropriado, e montando o circuito corretamente, creio que isso seja feito de maneira automática pelo compilador/linker, em se tratando de programação em 'C'.


+++

MensagemEnviado: 10 Set 2007 14:17
por lopesjm
Olá Deniro,

Vou admitir que você já tem um hardware que identifique o endereço 0x8000.

Declare a sua variável usando estes comandos:

xdata at 0x8000 unsigned char nome_da_variável;

isto funciona no SDCC, creio que funcionará também no Keil.

sds
Jorge

MensagemEnviado: 10 Set 2007 16:55
por Maurício
Salve.

O Jorge está correto, só que no Keil, a forma de declarar é diferente:

Código: Selecionar todos
unsigned int xdata var _at_ 0x8000;


O sublinhado (simples), antes e depois da palavra AT que precede o endereço é obrigatório.

[]'s

MensagemEnviado: 11 Set 2007 07:26
por deniro
Valeu pela ajuda END.