eeprom verwenden

Gast #18059
Lesenswert?
• ▲
▼
hi gibts wo ein einfaches tutorial wie man den eeprom benurtz ??
vor allem wie man das dann zb das im avr studio simuliert und wie wie 
das hex-file dafür aussieht ...
wie man in den eeprom schreibt und was davon rausliest
weiß ich nur wie ich jetzt was in den eeprom reinschreibe nicht
Gast #18061
Lesenswert?
• ▲
▼
hmm tja habs selber rausgefunden ...
für den fall das jemmand das problem mal hat
hier die antwort :)


.include "4433def.inc"
.def temp     = r16
.def counter   = r17
.def leds     = r18
.def leds2    = r19
.def null     = r20
.def a       = r21
.def b       = r22
.def rSREG_BAK   = r23

.equ start = 256 - 244  ;  bei 8 MHz entspricht das ca. 1/32 sec
.equ loops = 1;

rjmp reset           ; Reset Handler
reti                 ; IRQ0 Handler
reti                 ; IRQ1 Handler
reti                 ; Timer1 Capture Handler
reti                 ; Timer1 compare Handler
reti                 ; Timer1 Overflow Handler
reti;rjmp timer0          ; Timer0 Overflow Handler
reti                 ; SPI Transfer Complete Handler
reti                 ; UART RX Complete Handler : RXCIE
reti                 ; UDR Empty Handler
reti                 ; UART TX Complete Handler
reti                 ; ADC Conversion Complete Interrupt Handler
reti                 ; EEPROM Ready Handler
reti                 ; Analog Comparator Handler

.def adresse  = r21
.def data    = r22


reset:
   main:

;---EEPROM-Daten lesen-----------
  ldi adresse,2
eeprom_read:
  out  EEAR,adresse  ; EEPROM Adresse setzten
  sbi  EECR,0      ; EEPROM lese Bit setzen (Set Bit in I/O Reg)
eeprom_read_wait:
  sbic EECR,0      ; beschäftigt ? (skip if bit in I/O Reg clear)
  rjmp eeprom_read_wait
  in   data,EEDR
;---EEPROM-Daten lesen ende------
  loop:

    rjmp loop


;**************************************************
.eseg ; EEPROM-Segment
.org 0; "start-adresse"
table1: .db 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x7
;**************************************************

das mit dem simulieren ist so ne sache weil das avr studio
nicht aktualisiert ...
aber bei
Debug->UP/DownMemories
das generierte *.eep file auswählen
und "Load and Programm" wählen ...
nun kann man im debug modus
bei View->Memory Window
denn eeprom inhalt sehen ...

so und wehe es meint jemmand ich führe selbstgespräche :)

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.