Forum: Projekte & Code usbn9604 avr atmega8


von eljot (Gast)


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

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
Noch kein Account? Hier anmelden.