Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Ist bei wahlfreiem Speicherzugriff auch WORD-Speicherung möglich? Kategorie: Programmierung ASM (von Christian - 12.02.2004 16:45)
 Als Antwort auf Re: Ist bei wahlfreiem Speicherzugriff auch WORD-Speicherung möglich? von Michael - 12.02.2004 16:34
hola!!

vielen dank, werd ich gleich mal ausprobieren, auf die idee wär ich nie
gekommen.
danke nochmal
GREETZ

Christian

> da du schreibst dass du von assembler wenig ahnung hast,
> denk ich mal das du lediglich diese assembler routine
> von basic aus aufrufen willst.
>
> die EEprom Bausteine 24C.. sind allesamt 8 Bit Speicher,
> können also nicht direkt 16 Bit wörter aufnehmen.
> Du wirst also dein 16 Bit wort in 2 Byte Teilen müssen.
>
> probier es mal so:
>
> define w word
> define b1 byte
> define b2 byte
>
> b1=w
> b2=abs(w/256)
> end
>
> Die beiden Bytes kannst du dann speichern und später wieder
> zusammenfügen:
>
> w=b1+(b2*256)
>
>
> > Hola!
> >
> > Ich hab mit untem stehenden ASSEMBLER-Programm die Möglichkeit BYTE-Werte zu schreiben und zu lesen. Jetzt würde ich aber gerne auch WORD-Werte schreiben/lesenkönnen. Da das Proggi aus dem Netz ist und ich keine bis wenig Ahnung von Assembler habe, hoffe ich auf Hilfe!!
> > Hier das ASSEMBLER-PROGRAMM
> >
> > ;Wahlfreier Zugriff auf ein EEPROM EEIO.ASM
> >
> > AdrI2C .equ $A1  ;Uebergabe Busadresse
> > Dat .equ $A2  ;Daten in/out
> > AdrHi .equ $A3  ;interne Adresse
> > AdrLo .equ $A4  ;als Word
> >
> > .org $101
> > ;Einsprung $101, Daten schreiben
> > ;CC-EEPROM vom Bus abmelden
> > jsr $08BB  ;I2C_ReadLast
> > ;Byte in eigenes EEPROM schreiben
> > ldx AdrI2C  ;I2C-Adresse
> > jsr $083C  ;I2C_Start
> > ldx AdrHi  ;Adr High
> > jsr $0846  ;I2C_Write
> > ldx AdrLo  ;Adr Low
> > jsr $0846  ;I2C_Write
> > ldx Dat    ;Daten
> > jsr $0846  ;I2C_Write
> > jsr $08E5  ;I2C_Stop
> > ;CC-EEPROM wieder anmelden
> > ldx #$0A0  ;Adresse 24C65, write
> > jsr $083C  ;I2C_Start
> > ldx $066  ;AdrCounter Hi
> > jsr $0846  ;I2C_Write
> > ldx $067  ;AdrCounter Lo
> > jsr $0846  ;I2C_Write
> > ldx #$0A1  ;Adresse 24C65, read
> > jsr $083C  ;I2C_Start
> > rts
> > ;Einsprung $130, Daten lesen
> > ;CC-EEPROM vom Bus abmelden
> > jsr $08BB  ;I2C_ReadLast
> > ;Byte aus eigenem EEPROM lesen
> > ldx AdrI2C  ;I2C-Adresse
> > jsr $083C  ;I2C_Start
> > ldx AdrHi  ;Adr High
> > jsr $0846  ;I2C_Write
> > ldx AdrLo  ;Adr Low
> > jsr $0846  ;I2C_Write
> > ldx $0A1  ;I2C-Adresse
> > incx    ;Adr+1
> > jsr $083C  ;I2C_Start
> > jsr $086F  ;I2C_Read
> > sta Dat    ;Daten speichern
> > jsr $08BB  ;I2C_ReadLas
> > ;CC-EEPROM wieder anmelden
> > ldx #$0A0  ;Adresse 24C65, write
> > jsr $083C  ;I2C_Start
> > ldx $066  ;AdrCounter Hi
> > jsr $0846  ;I2C_Write
> > ldx $067  ;AdrCounter Lo
> > jsr $0846  ;I2C_Write
> > ldx #$0A1  ;Adresse 24C65, read
> > jsr $083C  ;I2C_Start
> > .end
> >
> > DANKE schon mal im Voraus!
> >
> > Christian
> >
> >

 Antwort schreiben

Bisherige Antworten:

Re: Ist bei wahlfreiem Speicherzugriff auch WORD-Speicherung möglich? (von Micha - 20.02.2004 8:33)