Forum: Mikrocontroller und Digitale Elektronik Sehr komisches Problem mit Tiny2313 (Ports reagieren falsch)


von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

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!

von Rolf Magnus (Gast)


Lesenswert?

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.

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

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 ...

von Thomas K. (thkais)


Lesenswert?

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?

von Benedikt (Gast)


Lesenswert?

Sind die Ports auch auf Ausgang geschaltet ?

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

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 ...

von TravelRec. (Gast)


Lesenswert?

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...

von Hauke R. (lafkaschar) Benutzerseite


Angehängte Dateien:

Lesenswert?

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
Noch kein Account? Hier anmelden.