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?
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
1 | COMTX = szTemp[i]; |
2 | ucTxBufferEmpty = 0; |
3 | 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...
1 | COMTX = szTemp[i]; |
2 | 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
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.
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:
1 | 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
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...
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.