Página 1 de 1
Escrever na SRAM

Enviado:
07 Jun 2017 04:32
por Vonnilmam
Olá a todos.
Por favor tirem uma dúvida sobre o atmega 8.
Como eu faço para fazer uma escrita ou leitura na SRAM do Atmega 8, isso no endereço 0x0060 em diante, de forma indireta.
Só para explicar melhor: No pic, eu declaro um nome atribuo esse nome ao endereço fisico da posição SRAM, tipo:
0x20 zezinho
0x21 luluzinha
....e assim vai.
Mas como eu faço isso no atmega,
Eu estou utilizando ASSEMBLER do avrstudio 4.
Obrigado
Re: Escrever na SRAM

Enviado:
07 Jun 2017 09:26
por tcpipchip
tenta um destes
volatile char * const port_a = (volatile char *) 0x1C;
OU
volatile char port_a @ 0x1C;
OU
#define PORTA (* (volatile char *) 0x1C)
OU
unsigned char a @0x001C
Re: Escrever na SRAM

Enviado:
09 Jun 2017 09:05
por Vonnilmam
Fico agradecido TCPIPCHIP.
Mas estou tentando aprender a mexer com o ATMEGA em ASM, eu queria saber como fazer isso em assembler.
Mas mesmo assim fico eternamente grato pela atenção
Obrigado
Re: Escrever na SRAM

Enviado:
09 Jun 2017 15:24
por tcpipchip
Re: Escrever na SRAM

Enviado:
09 Jun 2017 22:26
por Vonnilmam
Epa...
Eu havia lido esse post que você me enviou, mas não tinha entendido. Mas agora relendo com mais atenção, notei que a SRAM interna se comporta como se fosse EXTERNA, ou seja eu não consigo acessar ela de forma DIRETA, como seria no caso do PICs, onde se pode acessar toda a SRAM de forma direta ou indireta.
Muito interessante,
Então se eu entendi, se eu quiser decrementar uma posição da SRAM, tenho que fazer isso de forma indireta, lendo o endereço dessa SRAM, decrementar o seu conteúdo e depois gravar o resultado novamente na posição manipulada.
Se é isso que eu entendi, ufa, dá trabalho...kkk
Pensando assim, acho mais inteligente brincar em C...rss
Obrigado tcpipchip.
Re: Escrever na SRAM

Enviado:
09 Fev 2018 15:45
por Vicente
Escreve 0x55 em 0x0060:
ldi r31,0x00
ldi r30,0x60
ldi r16,0x55
st z,r16
Lê dado de 0x0060 em r16:
ldi r31,0x00
ldi r30,0x60
ld r16,z