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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.