Forum: Mikrocontroller und Digitale Elektronik Infineon XE167, Probleme mit ASC-Schnittstelle


von Holger B. (rst-el)


Lesenswert?

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

von TManiac (Gast)


Lesenswert?

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

von Holger B. (rst-el)


Lesenswert?

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