www.mikrocontroller.net

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


Autor: Holger B. (rst-el)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: TManiac (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Holger B. (rst-el)
Datum:

Bewertung
0 lesenswert
nicht 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

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.