mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ADuC 7060 UART


Autor: M.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe ein Problem mit der UART des ADuC 7060. Ich habe die 
Beispielprogramme von Analog mit IAR 5.5 getestet. Es funktionieren 
alle, bis auf diejenigen, die die UART verwenden. Dann hängt sich das 
Programm einfach auf. Leider habe ich keinen Hardwaredebugger um genauer 
nachzusehen. Ich habe mir natürlich das Datenblatt angeschaut, aber 
keine Konfigurationsfehler finden können.
Hat jemand etwas vergleichbares schon gesehen?

Autor: Wadim Popov (wadim)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo M.K.

Ich hatte auch manchmal die Probleme mit der UART bei den ADuC7060 und 
7061... zwar habe ich da keine genauen Nachforschungen betrieben, aber 
ich habe öfters bemerkt, dass da Probleme in den folgenden Zeilen 
auftretten
COMTX = szTemp[i];
ucTxBufferEmpty = 0;
while (ucTxBufferEmpty == 0)  { }

und zwar der bleibt manchmal (zumindest bei mir) in der while Schleife 
hängen und der Interrupt wird nicht ausgelöst.

Ich habe da aber eine Lösung ohne Interrupts gefunden...
COMTX = szTemp[i];
while ((COMSTA0 & 0x40) == 0x00){}

Außerdemm, als ich angefangen habe die Baud 115200 mit fractional 
divider statt der üblichen 9600 zu verwenden, fing die UART bei mir 
stabiler zu funzen...

P.S.: Ich weiss, dass der Beitrag schon paar Tage alt ist, aber vllt. 
hast du noch immer dieses Problem

Autor: M.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antwort, es funktioniert aber trotzdem nicht, sowohl mit 
Interrupts als auch ohne.
Das Downloadtool von Analog funktioniert über die serielle Schnittstelle 
aber absolut problemlos, daher glaube ich nicht an einen Hardwarefehler.

Autor: Wadim Popov (wadim)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmmm...das ist ja komisch, bei mir funktionieren alle Beispielprogramme 
für IAR, die ich von analog runtergeladen habe. Ich habe zuerst alle 
ADC-Beispiele durchgeschaut, weil die auch UART verwenden und die gingen 
auf Anhieb. Erst der Beispiel in dem Ordner UART hat nicht funktioniert, 
weil eine Zeile im IRQ falsch ist:
if ((ucCOMIID0 & 0x1) == 0x1)

Da muss statt 0x01 eine 0x04 hin.

Wie guckst du, ob das Programm läuft? Verwendest du HyperTerminal? 
Vielleicht machst du da falsche Einstellungen?

Öffnest du auch die schon vorhandenen Projekte von ADI, oder erstellst 
du neues Projekt und kopierst einfach die main dahin? Es ist nur so, 
dass man in IAR auch ne Menge Einstellungen ändern soll, bis das Projekt 
richtig läutf...

mfg
Wadim

Autor: M.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habs mit dem Oszilloskop probiert... Kein Beispielprogramm hat an 
den UART-Pins (P1.0/P1.1) überhaupt etwas gemacht.
Ich habe gehofft, dass die Beispielprogramme (incl .Einstellungen) 
korrekt sind, aber man wird ja immer wieder enttäuscht...

Autor: M.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Wadim für die Hilfen, es war doch ein Hardwareproblem.

Autor: Wadim Popov (wadim)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja kein Problem...Was war denn genau los? War der ADuC im Eimer?

Autor: M.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vermutlich war wirklich was mit dem Chip, nach dem Austauschen gings 
problemlos.

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.