Hallo, kann man eigenltich einen USART per Software killen? So dass man gar keine Möglichkeit mehr hat einen string zum HyperTerminal zu übertragen? Ich hatte ein sehr seltsames problem: hab ein globaleas struct array definiert und wollte es initializieren - das programm lief zwar noch (kein data abort etc. error oder warnung) aber über die USART schnittstelle kam kein laut... jetzt hab ich ein ganz einfaches programm getestet, welches nur die usart überprüft und wieder kommt gar nichts an... das programm an sich funktioniert aber. Ich arbeite mit dem AT91RM9200 Controller - kennt jmd solche Probleme mit USART? die serielle Schnittstelle lief zuvor sehr gut und stabil Bernd
Welche UART, die vom PC oder die vom ARM? Beim PC kann es vorkommen, daß ein Programm vor Beendigung die UART nicht wieder freigegeben hat -> Abhilfe: Neustart. Peter
scheinbar läuft bei dem controller gar nichts mehr - die beiden angeschlossenen LEDs kann ich auch nicht mehr aktivieren... das ist echt crazy... Bernd
Was für nen Pegelwandler hast Du zwischen den Controller-Anschlüssen und der PC-Schnittstelle? Ist der noch intakt?
ok die leds sind jetzt doch an - aber es dauert alles sehr lange in meinem programmcode werden zu allerst die leds aktiviert - und das dauert schon mächtig lange (was nicht gewöhnlich ist) - einige sekunden.
die leds blinken nur noch kurz auf (obwohl sie eigentlich die ganze zeit aktiviert sind...) - der RS232 Wandler ist ok
ein widerstand hat sich komplett verschoben auf der platine... vll ist dass das problem (leider hab ich keinen schaltplaon von diesem board)... aber wie heiß muss sowas werden, dass sich ein widerstand von seinen lötpads trennt? Bernd
Bernd Schuster wrote: > ein widerstand hat sich komplett verschoben auf der platine... vll ist > dass das problem (leider hab ich keinen schaltplaon von diesem board)... > aber wie heiß muss sowas werden, dass sich ein widerstand von seinen > lötpads trennt? > > Bernd Foddo machen und zeigen.
leider keinen fotoapparat da - aber der widerstand ist ein smd widerstand 0402 und eigentlich ist um satte -70° gedreht... auf der einen seite ist der widerstand mit hoher wahrscheinlichkeit an GND angeschlossen, bei der anderen weiß ich es nicht... allerdings sind die lötpads sehr spärlich ausgelegt worden...
der widerstand ist anscheinend nachträglcih hinzugefügt worden (war auch nicht defekt - zeigt noch den richtigen wert an)... kann ich trotzdem von einem hardware-fehler ausgehen? ein über das JTAG Interface kombilierte Programm läuft (ohne data abort etc.) und kann auch übertragen werden - Breakpoints kann ich auch setzen und die werden auch erreicht... Alles was mit der Peripherie zusammenhängt funktioniert leider nicht - ich bekomm keine Pakete über die Ethernet Schnittstelle, alle beide RS323 Schnittstellen funktionieren nicht und die angeschlossenen LEDs blinken nur einem kurz auf, wenn man sie aktiviert. Hat da jmd Ideen was ich noch überprüfen sollte?? Die PLL und Quarz läuft stabil. Bernd
@ Bernd Schuster (mms) >RS323 Schnittstellen funktionieren nicht und die angeschlossenen LEDs >blinken nur einem kurz auf, wenn man sie aktiviert. >Hat da jmd Ideen was ich noch überprüfen sollte?? Stromversorgung. > Die PLL und Quarz >läuft stabil. http://www.mikrocontroller.net/articles/AVR_Checkliste#UART.2FUSART MFG Falk
die Stromversorgung ist konstant dar - sonst könnte ich ja nicht während des ablauf des programms debuggen... >> Die PLL und Quarz >>läuft stabil. >http://www.mikrocontroller.net/articles/AVR_Checkl... was mich am meisten stört (und da ist glaub ich der wurm drinnen) ist, dass nicht mal zwei direkt über einen widerstand angeschlossene LEDs an bleiben (sondern nur kurz aufblinken)... Das wird sicherlich auch bei der RS232 und Ethernet Schnittstelle das problem sein... aber warum? die Pullups sind deaktiviert / ansonsten würde ich kein aufblinken sehen... Bernd
die LEDs kann ich auch nur einmal aufblinken lassen, nicht mehrmals hintereinander... indem ich z.b. eine wait() Funktion dazwischen setze Bernd
hab grad mal einen internen timer ausprobiert, und dessen Interrupt wird nie ausgelöst -> sprich die Clock dazu fehlt (Weil der code auf jeden fall funktionieren müsste - hatte ich schon mal getestet)... wie kann ich testen ob der Quarz (extern) defekt ist? In diesem Controller gibt es eine PMC Peripherie-Clock für gewisse Sachen, wie USART, Ethernet, Timer etc. - für alle Sachen funktioniert diese nicht mehr.... Der Prozessor besitzt insgesamt zwei externe PLLs und zwei Quarzen (einen mit ca. 18MHz und einen Uhrenquarz - bei dem getesteten Timer handelte es sich um den ST Timer, der auf den Uhrenquarz basiert... Bernd
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.