Source file: /~heha/basteln/m/Kram/dccrail-avrgcc.zip/binärgleich/Eprom.S

/********************************************************************************
 * DCC Wagen Decoder Software V1.0						*
 * Copyright (c) 2011 Toralf Wilhelm						*
 *										*
 * private Nutzung erwünscht, gewerbliche Nutzung erfordert zwingend meine Zustimmung! *
 * Datei:	Eprom.S								*
 * Kontakt:	toralfwilhelm@web.de						*
 * Webseite:	www.toralfwilhelm.de						*
 * Version:	01/2011 Version 1 Start						*
 * Beschreibung: liest und schreibt CV Bytes					*
 ********************************************************************************/

#include "definitionen.h"

/************************************
 *        EEprom byte lesen         *
 ************************************/
// liest ein Byte aus Addresse EE_Adresse in w ein zum CVregister lesen

eepromlesen:
0:	sbic	EECR,1
	 rjmp	0b		// dann Schleife
	lds	w,EE_Adresse
	out	EEARL,w		// eeprom addresse low setzen
	lds	w,EE_Adresse+1
	out	EEARH,w
	sbi	EECR,0		// Setze EEProm-Lesebefehl EECR Bit0(EERE)=1
	in	w,EEDR		// daten einlesen
	ret

/*************************
 * EEprom byte schreiben *
 *************************/
//schreibt ein Byte aus w in Addresse EE_Adresse zum CVregister schreiben

eepromschreiben:
0:	sbic	EECR,1		// wird noch geschrieben ? EECR Bit1(EEWE)=1
	 rjmp	0b		// dann Schleife
	out	EEDR,w		// Daten setzen
	lds	w,EE_Adresse
	out	EEARL,w		// eeprom addresse low setzen
	lds	w,EE_Adresse+1
	out	EEARH,w
	sbi	EECR,EEMWE	// Setze EEProm Master-Schreibbit
	sbi	EECR,EEWE	// Setze EEProm Schreib-Befehl
	ret
Detected encoding: UTF-80