Bekomme AVR 410 nicht zum laufen

Gast #1995022
Lesenswert?

Hallo,
trotz tagelanger Fehlersuche bekomme ich keine RC5-Kommandos aus meinem 
ATmega32 heraus. Als Grundlage habe ich die AVR 410 genommen und auf 
8MHz angepasst. Es scheint so als ob in der Routine "sample" irgend 
etwas mit der Synchronisation nicht richtig läuft weil "er" aus dieser 
Funktion nicht herauskommt. Der Sender funktioniert bei anderen 
RC5-Geräten einwandfrei.
Oder kann es auch daran liegen das es mit diesem Prozessor nicht möglich 
ist?
Danke für jeden Tip!

MfG
Bernd
Angehängte Dateien:
Gast #1995080
Lesenswert?

Dann lies zum Bsp. schon mal folgenden Thread.

Beitrag "Register nach Reset nicht leer?"

Sollte Dein Register "flipflops" ohne Initisalisierung nicht 0 sein,

so wird Dein Sprungbefehl in der ISR immer den gleichen Weg gehen.
Egal wie oft Du Ihn Komplementierst.

Jeder Wert <>0 gibt als Komplemet <>0

Ich hab mir Deinen Routine noch nicht mal weiter angeschaut und weiss 
auch
noch nicht, ob es das Problem ist aber setze als allererstes mal den
Wert von flipflop am Anfang auf Wert 0.

LDI    flipflop, 0
#1995135
Lesenswert?

woher weist du das es nicht funktioniert?

wenn ich dein Programm sehe
1
main:    RCALL  detect      //Call RC5 detect routine
2

3
      CPI    system, SYS_ADDR//Responds only at the spezified address
4
      BRNE  release      //Branch if Not Equal (test the Zero flag)
5

6
      ANDI  command, 0x3F  //Remove control bit (Logical and Immediate)
7
                  //Performs the logical AND between the contents of
8
                  // register Rd and a constant and places the result
9
                  // in the destination register Rd.
10
      OUT    PortB, command
11

12
      RJMP  main
13
release:
14
      CLR    command  
15
                  //Clear PortB
16
      OUT    PortB, command
17
      RJMP  main
dann wird doch eine erfolgreiche Ausgabe an Port B sofort wieder 
gelöscht.

Sascha
Gast #1995145
Lesenswert?

Was genau funktioniert denn nicht?

DDRA vs. DDRB ist ja schon ein riesen Unterschied?

Was tut er/es und was nicht?

Mir ist der gesamte Aufbau dieser Routinen sehr suspekt, da das 
eigentlich Signal ausserhalb der ISR "gehandelt wird"

und dann noch mit vollkommen unnötigen 31K250 ints/sec

Dirk

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren