www.mikrocontroller.net

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


Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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 ...

Autor: Thomas K. (thkais)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sind die Ports auch auf Ausgang geschaltet ?

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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 ...

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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 ...

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.