Hallo, Ich hab zwar n bisschen rumgesucht, aber nichts gefunden :( Nun zu meinem Problem: Ich hab nen tiny2313 am laufen, funktionierte auch alles super, nur jetzt auf einmal kommen keine wirklichen pegel mehr aus den ports, die als PWM ports laufen ... d.h. ich hab PORTB als ausgang für ne 7-segment led anzeige geschaltet, und hatte vorher OCR0A auch als PWM ausgang (ocr0a liegt auf port b und ocr0b liegt auf portd)aber dann wegen nem kleinen umbau ausgeschaltet (weil halt die leds drangekommen sind) so nun macht er mir auf allen ports nen schönen high pegel, nur auf denen, die ich mal als PWM ausgang genutzt habe, bekomme ich keine pegel, als wären die pullups deakiviert ... ok halt mal die pullups aktiviert (die internen) tut sich aber auch nichts :( Meine Frage nun: wie kann es sein, dass ein port, der mal als PWM port genutzt wurde keine internen pullups hat, alle anderen ports (auch OCR1A) funktionieren einwandfrei, der port wurde nicht überlastet (es hing nur nen transistor natürlich mit basiswiderstand dran ..) das gleiche problem hab ich wiegesagt auch bei ORC0B der auf nem ganz anderen port liegt. Jemand ne Idee? wäre für schnelle hilfe dankbar!
Wieso pull-up? Ich denke, du willst LEDs dran anschließen. Dann müssen sie doch als Ausgang geschaltet sein. Bist du sicher, daß dein Programm nichts mehr hat, das die normale Portfunktion abschaltet? Ansonsten mal wenn möglich den Mikrocontroller durch einen anderen ersetzen und schauen, ob's damit geht, damit du wenigstens sicher weißt, ob der Controller selbst vielleicht doch kaputt ist.
Ja für die funktion der LED ist es im endeffekt egal, nur find ich das etwasa komisch, dass diese beiden ports keine high pegel mehr ausgeben wollen, die leitung is dann einfach extrem hochohmig und bei low halt masse. Austauschen is n bisschen schwer, da der auf ne punktraster gelötet ist :( aber ich könnte nen anderen auf dem stk500 ausprobieren ... außerdem: der COde besteht nur aus n paar zeilen, es wird nichts weiter gemacht, als der timer0 für PWM eingestellt, OCR0B als PWM channel eingestellt, und in einer schleife abgefragt, ob ein taster gedrückt wurde, also noch relativ übersichtlich, und ich glaube nicht, dass ich n fehler gemacht hab... PS: der OCR0B gibt jetzt komischerweise auch wieder high pegel aus, nur der OCR0A nich ...
Es empfiehlt sich immer, auch auf Lochrasterplatinen, alle ICs - vor allem µC - zu sockeln. Du hast daran gedacht, daß die entsprechenden Pins im Datenrichtungsregister auf "1" (=Ausgang) gesetzt werden müssen?
Sind die Ports auch auf Ausgang geschaltet ?
ja klar sind die ports als ausgang ^^ dadran hab ich ja schon gedacht (port B is komplett 0xFF) Komischerweise funktioniert OCR0B jetzt wieder, obwohl ich nichts im programm geändert habe ... Für die Funktionsweise ist es zwar egal, aber mich interessiert, wie sowas kommen kann ...
Fragt Dein Programm irgenswelche Eingangssignale ab und der Eingang hat kein definiertes Potential und floatet irgendwie (deshalb: mal geht´s, mal nicht?)?? Ich arbeite sehr oft und gerne mit dem neuen Tiny und hatte noch nie das Problem, daß die Ports ´rumeiern...
Ja ich frage PD3 ab (PD 0 - PD3 sind als eingan und PD4 bis PD 7 (dens eigentlich garnicht gibt) sind als ausgang geschaltet) Und das funktioniert auch soweit ganz gut (ich hab keinen extrenen pullup dran, aber die internen sind an, und die abfrage funzt auch) Ich weis nur nicht, wie das damit zusammenhängen soll *?* ich häng hier ma meinen code an ...
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.