Hallo, ich verwende einen ATmega8 um eine SPI Verbindung zu einem Display per SPI aufzubauen. Da ich für alles mögliche sehr viele pins brauche, und das Display sowieso nicht antworten kann, würde ich gerne den MISO-Pin als Ausgang für die Resetleitung des Displays nehmen. Also als ganz normalen IO-Pin konfigurieren. Leider wird aber bei aktivierung des SPI dieser Pin automatisch konfiguriert, wenn cihd as richtig verstanden habe, und bei den ganzen overide registern, blicke ich nicht ganz durch was da was schaltet. Beim AT91RM9200 ist das schöner gelöst :) kann mir jemand helfen? Vielen Dank, David Epping
Der MISO-Pin wird beim Einschalten des SPI automatisch als Input geschaltet, egal was Du im DDRB eingegeben hast (darüber bin ich auch mal gestolpert). Ich hatte das Problem beim mega16, dürfte aber beim mega8 dasselbe sein. Den Pin als Eingang zu benutzen ist aber problemlos möglich. Ev. kannst Du den Pin mit einem anderen tauschen. Übrigens, ähnliche Baustelle: der SS-Pin sollte möglichst als Ausgang benutzt werden, falls die SPI-SS-Funktion nicht verwendet wird. Wird SS als Eingang betrieben, dann schaltet ein Low-Pegel an SS den SPI ab! Einziger Workaround für beide Probleme (wenn sie bereits in Hardware gegossen sind): SPI in Software nachbauen ... Gruß, Stefan
Als Low-aktiven Reset kannst du den Pin durchaus verwenden (bei mir z.B. für ein Nokia 3310): Um Low auszugeben dektivierst du die SPI, schaltest den Pin auf Ausgang und gibst 0 aus. Um High auszugeben schaltest du den Pin auf Eingang und aktivierst den PullUp-Widerstand. Danach kannst du die SPI enablen - der Pin bleibt auf Eingang und wird durch den PullUP auf High gezogen. Gruss Andi
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.