Hallo Hab einen ATmega8, den ich mit Hilfe von Pony beschreiben will. Das schreiben, lesen und lesen funktioniert schon ganz gut. Nach dem Schreiben trenn ich den ATmega8 vom isp aber nichts tut sich. Weder die an PB0-PB5 angeschlossenen LED leuchten noch verschwindet der Balken an meinem 2*16 LCD. An was kann das liegen ist der EEPROM defekt, oder bin ich nur zu doof?? mfg Xeus
Hi, ein bischen wenig Info's. Wie sieht deine Schaltung bzw. dein Programm aus? MfG Ralph
Hab an PB0-PB5 die LED's angeschlssen und über PD0-PD5 kann ich Taster betätigen. Das ganze hab ich dem Tutorial entnommen.Das prog Led-test.asm stammt ebenfalls von dieser Seite. Wenn ich nun was in das Flash bzw eeprom schreibe das isp trenne, passiert garnichts, ich kann die taster drücken wie ich will nichts tut sich.Schließ ich das isp wieder an kann ich die daten wieder ohne weiteres auslesen. gruß xeus
Na ja, ich gehe mal davon aus das dein Hardwareaufbau OK ist. Dein Programm sollte in etwa wie folgt anfangen: ;********************************************************************* ; AVR - Testboard ; ;********************************************************************* ;***** Directives .device atmega8 .def temp1 = r16 .def temp2 = r17 .def temp3 = r18 ;--------------------------------------------------------------------- ;Interrupt vector table - ATmega8 ;--------------------------------------------------------------------- rjmp reset ; Reset Handler reti ; External Interrupt0 Handler reti ; External Interrupt1 Handler reti ; Timer2 Compare Handler reti ; Timer2 Overflow Handler reti ; Timer1 Capture Event Handler reti ; Timer1 CompareA Handler reti ; Timer1 CompareB Handler reti ; Timer1 Overflow Handler reti ; Timer0 Overflow Handler reti ; SPI Transfer Complete Handler reti ; USART Rx Complete Handler reti ; USART Data Register Empty Handler reti ; USART Tx Complete Handler reti ; ADC Conversion Complete Handler reti ; EEPROM Ready Handler reti ; Analog Comparator Handler reti ; Two-wire Serial Interface Handler reti ; Store Program Memory Ready Handler ;-------------------------------------------------------------------- ;--------------------------------------------------------------------- ;Konfigurieren der IO-Register ;0xFF bedeutet alle Pins auf Ausgabe, 0x00 bedeutet Eingabe ;--------------------------------------------------------------------- konfMCU: ;Belegung von PortB ;Bit0 ==> LED 1 ;Bit1 ==> LED 2 ;Bit2 ==> LED 3 ;Bit3 ==> LED 4 ;Bit4 ==> LED 5 ;Bit5 ==> LED 6 ;Bit6 ==> frei ;Bit7 ==> frei ldi r16, 0b11111111 ;0b11111111 in r16 laden out DDRB, r16 ;Inhalt von r16 ins IO-Register DDRB ausgeben ;Belegung von PortD ;Bit0 <== Taster 1 ;Bit1 <== Taster 1 ;Bit2 <== Taster 1 ;Bit3 <== Taster 1 ;Bit4 <== Taster 1 ;Bit5 <== Taster 1 ;Bit6 <== frei ;Bit7 <== frei ldi r16, 0b00000000 ;0b00000000 in r16 laden out DDRD, r16 ;Inhalt von r16 ins IO-Register DDRD ausgeben ret ;Setuproutine beenden ;Konfigurieren der IO-Register ende ;--------------------------------------------------------------------- ;--------------------------------------------------------------------- ;Stack anlegen ;--------------------------------------------------------------------- reset: ldi temp1, LOW(RAMEND) out SPL, temp1 ; Initialize SPL ldi temp1, HIGH(RAMEND) out SPH, temp1 ; Initialize SPH ;Stack anlegen ende ;--------------------------------------------------------------------- rcall konfMCU ; Port B auf Ausgang, Port D auf Eingang loop: ; hier sollte dein Programm stehen! rjmp loop ; Endlosschleife Viel Glück
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.