www.mikrocontroller.net

Forum: Projekte & Code usbn9604 avr atmega8


Autor: eljot (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich mache jetzt schon 14 Tage mit dem USBN9604 und dem ATmega8 rum. Habe 
mehrere Quelle probiert (auch B.Sauter) nur mit dem SPI und dem USBN9604 
will es so richtig nicht gelingen.
Schaltung:
  SPI an USBN
  PB0 an SS_USBN
  INT0 an INTR_USBN

Ich denke, ich habe ein Timing-Problem
 (CPU-Freq.=14.745.600Hz, SPI-Freq = CPU-Freq/16)

Die (Debug)-Abfrage liefert folgendes:

UART - fertig
SPI - fertig
USB - fertig
rx0                 // Host will was von mir
desc_idx:00         // Wo steht der Zeiger im Descriptor
desc_sze:00         // Länge des Descriptors
rxstat:58           // RXS0
getdescriptor       // Funktionsaufruf
1201000100000008    // welche Byte wurden an den USBN übergeben
tx0                 // Sende Intr., weil fertig und neue Folge
0304016010010000    // welche Byte wurden an den USBN übergeben
rx0      // ????????
desc_idx:10
desc_sze:12
rxstat:58           // Hier liegt mein Problen !!!
setaddress          // Hier liegt mein Problen !!!
tx0      // und jetzt die letzten 2 Byte
0001
rx0       // Danach alles  3 mal
desc_idx:12
desc_sze:12
rxstat:58
getdescriptor
1201000100000008
tx0
0304016010010000
rx0
desc_idx:10
desc_sze:12
rxstat:58
setaddress
tx0
0001
rx0
desc_idx:12
desc_sze:12
rxstat:58
getdescriptor
1201000100000008
tx0
0304016010010000
rx0
desc_idx:10
desc_sze:12
rxstat:58
setaddress
tx0
0001

Descriptor: 120100010000000803040160100100000001

Wie ihr seht, schieben sich  rx0-Int zwischen die Sendereihe und ich 
habe keine Ahnung wie ich sie los werde.

Wie geschrieben, ich habe verschiedenes probiert. Die Lösung hängt von 
der Platzierung der einzelnen Routinen im Quelltext ab. Ich habe eine 
Lösung, die sagt, sie währe ein FDTI (laut Geräte-Manager), wenn ich für 
die PI und VI eine CTC wähle geht nix mehr.
Wähle ich einzelne Routinen im FDTI-Programm anders, geht auh nich mehr.

Das Timing des atmega8 stimmt, denn ich hole mit die Zeichen über RX und 
einen MAX232 über 115200.

Hilfe!!!

Danke eljot

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.