Hallo kann mir jemand sagen ob sich Port B5 ganz normal als Ausgang ansprechen lässt , ich meine mit SBI und CBI ? Habe das jetzt einmal probiert geht irgend wie nicht, nachdem man aber den Reset eingang dafür abschalten muß kann ich ihn nicht mehr umprogrammieren. OK es fehlt jetzt ein Ausgang kann ich noch mit leben aber beim nächsten soll es funktionieren. Danke für eure Hilfe . (hoffe ich doch)
Das Datenblatt (Seite 4) meint dazu: Port B is a 6-bit I/O port. PB4..0 are I/O pins that can provide internal pull-ups (selected for each bit). _PB5 is input or open-drain output._ The use of pin PB5 is defined by a fuse and the special function associated with this pin is External Reset. The port pins are tristated when a reset condition becomes active, even if the clock is not running. Fazit: Wenn du auf Reset (und damit auf ISP) verzichtest, dann kannst du ihn als Eingang oder als Open-Drain-Ausgang nutzen, nicht aber als Tristate-Ausgang...
Entweder isp programmien! dann haste 5 pins seriel programmien und fuse bit setzen dann hast 6 pins achtung fuse bit wird eingebrannt! dh.:du kannst dann nurmehr seriell(zb.:mit stk 500 programmien) programmien! am besten so programmien dass du nichtmehr umprogrammieren musst! mfg Klaus
Na "SERIELL" ist ISP auch. Man kommt nur noch mit dem "High-Voltage-Programmiermodus" ran, also mit dem Programmer, der 12V an Reset legt.
Die Theorie ist klar. Ich habe das Handbuch x-fach gelesen. RSTDISL Fuse ist programmiert. Aber ich kann das Pin nicht als Output nutzen. Ich habe eine LED über eine Vorwiderstand an +3V geschaltet. Die LED leuchtet immer, egal was ich am PORTB,5 ausgebe. In der Dokumentation ist für das I/O-Register PORTB erst gar kein PB5 definiert. Wie kann man PB5 also ansteuern? Anbei der Sample-Sourcecode, leider ohne Funktion!
Ich habe nach langen Recherchen selbst die Lösung gefunden. Das Port PB5 kann nicht über das Register PORTB angesteuert werden. Stattdessen muss DDRB benutzt werden. sbi DDRB,DDB5 ; PB5 auf GND (Open-Drain-Transistor ein) cbi DDRB,DDB5 ; PB5 hochohmig (Open-Drain-Transistor aus) Voraussetzung: Fuse-Bit RSTDIBL ist programmiert
> Das Port PB5 kann nicht über das Register PORTB angesteuert werden.
Stimmt, laut Datenblatt ist Bit 5 von Port B nicht definiert. Da geht
man ja irgendwie nicht so gleich davon aus. Schräge Sache, es gibt
immer wieder ganz gemeine Fallen. Genauso die Sache beim Atmega128. Bei
dem werden ja nicht etwa MISO und MOSI für ISP benutzt, sondern
plötzlich RXD0 und TXD0. Die machen das doch alles extra :)
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.