Gefunden für eeprom empty 0xff - Zum Elektronik Forum





1 - ATMEGA32 liest nur 0xFF aus dem EEPROM -- ATMEGA32 liest nur 0xFF aus dem EEPROM




Ersatzteile bestellen
  Hallo!

Irgendwas stimmt nicht mit meinem Quellcode mit Assembler.

Ich kann ohne Probleme verschiedene I²C-ICs steuern und auslesen, nur beim DS1307 und sogar beim 24C04 bzw SDA2516 liest der AVR nur 0xFF.

Ich habe verschiedene Tests gemacht um den Fehler einzukreisen.
Zuerst ein Schreibtestprogramm für den TDA6200:


Code :
;*********************************************************************************************
;* *
;* Test...
2 - ATMega 32 INT2 löst nicht aus -- ATMega 32 INT2 löst nicht aus
Hallo!

Ich habe hier eine Schaltung zusammengebaut mit der ich eine PC AT Tastatur an einen ATMega32 anschließen möchte. Jetzt wollte ich erstmal den INT2 einschalten und mir die Flanken des Taktsignals zählen lassen. Jedoch löst das Clock-Signal der Tastatur am INT2 keinen Interrupt aus.

Schaltung ist wie folgt:

Am Controller hängt ein LC-Display an Port A, das funktioniert soweit einwandfrei.

An PORT B hängt eine Lochrasterplatine mit der Anschlussbuchse für die Tastatur und 2 LEDs und zwar folgenderweise:

PB7 = LED rot
PB6 = LED grün
PB5 = NC
PB4 = NC
PB3 = NC
PB2 = KEYBOARD Clock = INT2
PB1 = NC
PB0 = KEYBOARD Data

Ich habe jehweils einen 10kOhm Pullupwiderstand an KEYBOARD Data und KEYBOARD Clock.
Schaut auch sehr gut aus auf dem Oszilloskop. Hab auch direkt am Controllerpin PIN3 gemessen, das Clocksignal kommt bis zum µC durch.

Jetzt wollte ich den INT2 einstellen, hab mich da auch soweit ans Datenblatt gehalten.

MCUCSR Bit6 = 0 -> INT2 löst bei fallender Flanke aus
GICR Bit5 = 1 -> INT2 aktiviert
SEI Befehl um I-Flag im SREG zu setzen hab ich verwendet.
In der Interrupttabelle steht rjmp EXT_INT2 die sprungmarke existiert auch und wird mir RETI beend...








3 - Probleme beim Programmieren mit STK500 -- Probleme beim Programmieren mit STK500

.include m8def.inc


.org $000
rjmp init ;Program/Reset Handler
reti ;INT0addr=$001 ; External Interrupt0 Vector Address
reti ;INT1addr=$002 ; External Interrupt1 Vector Address
reti ;OC2addr =$003 ; Output Compare2 Interrupt Vector Address
reti ;OVF2addr=$004 ; Overflow2 Interrupt Vector Address
reti ;ICP1addr=$005 ; Input Capture1 Interrupt Vector Address
reti ;OC1Aaddr=$006 ; Output Compare1A Interrupt Vector Address
reti ;OC1Baddr=$007 ; Output Compare1B Interrupt Vector Address
reti ;OVF1addr=$008 ; Overflow1 Interrupt Vector Address
reti ;OVF0addr=$009 ; Overflow0 Interrupt Vector Address
reti ;SPIaddr =$00a ; SPI Interrupt Vector Address
reti ;URXCaddr=$00b ; USART Receive Complete Interrupt Vector Address
reti ;UDREaddr=$00c ; USART Data Register Empty Interrupt Vector Address
reti ;UTXCaddr=$00d ; USART Transmit Complete Interrupt Vector Address
reti ;ADCCaddr=$00e ; ADC Interrupt Vector Address
reti ;ERDYaddr=$00f ; EEPROM Interrupt Vector Address
reti ;ACIaddr =$010 ; Analog Comparator Interrupt Vector Address
reti ;TWIaddr =$011 ; Irq. vector address for Two-Wire Interface
reti ;SPMaddr =$012 ; SPM complete Interrupt Vector Address
reti ;SPMRaddr =$012 ; SPM complete Interru...
4 - Countdown Uhr -- Countdown Uhr
Das ASM - Beispiel:

.include tutorial/uart/2313def.inc ;Pfad zur Include-Datei ggf. anpassen

.def temp = r18
.def counter = r17

.def fbin = r19 ;Ausgangswert
.def tBCDL = r19 ;Obere Dezimalstelle
.def tBCDH = r20 ;Untere Dezimalstelle

.org 0000

rjmp reset ; RESET =$001 ;Reset
RETI ; INT0addr=$001 ;External Interrupt0 Vector Address
RETI ; INT1addr=$002 ;External Interrupt1 Vector Address
RETI ; ICP1addr=$003 ;Input Capture1 Interrupt Vector Address
RETI ; OC1Aaddr=$004 ;Output Compare1A Interrupt Vector Address
rjmp check ; OVF1addr=$005 ;Overflow1 Interrupt Vector Address
RETI ; OVF0addr=$006 ;Overflow0 Interrupt Vector Address
RETI ; SPIaddr =$007 ;SPI Interrupt Vector Address
RETI ; URXCaddr=$008 ;UART Receive Complete Interrupt Vector Address
RETI ; UDREaddr=$009 ;UART Data Register Empty Interrupt Vector Address
RETI ; UTXCaddr=$00a ;UART Transmit Complete Interrupt Vector Address
RETI ; ADCCaddr =$00b ;ADC Interrupt Vector Address
RETI ; ERDYaddr =$00c ;EEPROM Interrupt Vector Address
RETI ; ACIaddr =$00d ;Analog Comparator Interrupt Vector Address

reset:

;Stackpointer initialisieren
ldi temp, RAMEND
out SPL, temp

Nicht gefunden ? Eventuell gibt es im Elektroforum Transistornet.de für Eeprom Empty 0xff eine Antwort
Im transitornet gefunden: Eeprom Empty 0xff


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 8 Beiträge im Durchschnitt pro Tag       heute wurden bisher 11 Beiträge verfasst
© x sparkkelsputz        Besucher : 192595982   Heute : 5099    Gestern : 7576    Online : 326        16.8.2026    18:25
4 Besucher in den letzten 60 Sekunden        alle 15.00 Sekunden ein neuer Besucher ---- logout ----su ---- logout ----
xcvb ycvb
0.0180151462555