Hallo, habe folgendes Problem mit dem XE167: Es können keine Zeichen über USIC0 CH1 gesendet werden, während das Senden über USIC0 CH0 einwandfrei funktioniert. Die Initialisierung beider Kanäle ist über DAVE erfolgt, zum Senden werden die vom DAVE generierten Funktionen U0C1_ASC_vSendData() und U0C0_ASC_vSendData() genutzt. Beim Senden bleibt das Programm in der Funktion U0C1_ASC_vSendData() in der while(!(U0C1_PSR & 0x2000)) Abfrage hängen. Der USIC1 CH1 funktioniert ebenfalls nicht. Rein vom Fehlerbild her sieht es so aus, als ob im DAVE Komponenten initialisiert werden, die der Prozessor gar nicht unterstützt. Aber: Ich habe das Ganze mit dem EasyKit XE166 von Infineon getestet, auf dem ein XE167F96F66 sitzt, der die getesteten USICs auf jeden Fall beinhaltet. Hat jemand ähnliche Erfahrungen gemacht bzw. eine Idee, an was es liegen könnte. Gruß Holger
Hallo Holger, wie hast du deine zweite serielle Schnittstelle beschaltet? Ich müsste zwar jetzt nachschauen, aber wenn ich mich richtig erinnere ist doch nur eine serielle Schnittstelle über den FTD auf die USB-Schnittstelle geführt. Hm, aber trotzdem müsste die Schleife verlassen werden, weil das PSR:TBIF gesetzt wird, wenn die Daten vom Buffer an das Shift-Register übergeben sind. Kannst du das im Debugger einmal überprüfen? Mal sehen ob ich heute abend mal wieder etwas mit dem Controller spiele. Gruß, TManiac
@ TManiac: Ich habe mal ein neues Minimalprojekt mit DAVE angelegt, welches nur aus main und den USIC-Modulen besteht. Hier funktioniert das Senden problemlos. Mittlerweile habe ich das fehlerhafte Projekt soweit abgespeckt, daß auch nur noch die main und USIC-Module enthalten sind. Das Senden funktioniert immer noch nicht. Sourcen sind 100%& identisch, der Fehler liegt irgendwo im DAVE. Habe testweise das *.dav File des funktionierenden Projektes in das andere Verzeichnis kopiert und neue Sourcen generiert -dann liefs. Aber: Ein Vergleich der DAVE-Initialisierungen beider Projekte ergab keinen Unterschied. Mir ist unklar, wo hier der Hund begraben ist. Über den Infineon Support komme ich ebenfalls nicht weiter. Notfalls muß ich das ganze Projekt nochmals neu anlegen im DAVE und nach jeder neu hinzugekommenen Komponente die USIC-Funktion testen - vielleicht komme ich dann dahinter, was schiefläuft. Gruß Holger
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.