Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

03/12/2014 #1


Assembler AVR Attiny 2313
Buenas gente estoy tratando de guardar 5 bytes en la memoria no volatil del integrado
y tengo que poder leerlas despues

Pero no puedo hacer andar las rutinas en_byte y Leo_byte

Si alguno tiene alguna rutina para dicha tarea que este Funcionando.
O en su defecto que me de una manito para poder hacerla andar seria de mucha ayuda

las rutinas estan puestas dentro de un bucle

LDI R17,$05
bucles:
LD R16,X+
RCALL en_byte
DEC R17
BRNE bucles
07/12/2014 #2

Avatar de cosmefulanito04

Para escribir en la EEPROM, podés usar esta rutina que te dá la hoja de datos del uC:

Código:
EEPROM_write:
  ; Wait for completion of previous write
  sbic EECR,EEPE
  rjmp EEPROM_write
  
  ; Set up address (r17) in address register
  out EEAR, r17
  ; Write data (r16) to data register
  out EEDR,r16
  
  ; Write logical one to EEMPE
  sbi EECR,EEMPE
  ; Start eeprom write by setting EEPE
  sbi EECR,EEPE
ret
Desde tú código simplemente tenés que hacer esto:

Código:
LOOP_PRINCIPAL:
   ;.... Código
   ldi r17, 10  ;Dirección 10 (decimal, o 0x0A hexa) de la memoria EEPROM
   ldi r16,  128 ;Dato a guardar => 128
   rcall EEPROM_write
De esta forma, almacenás el valor 128 decimal en la posición de memoria 10 decimal de la EEPROM.
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.