Forum: Mikrocontroller und Digitale Elektronik AT89C5131 SPI


von hjen (Gast)


Lesenswert?

Kann es ein, dass man MISO, MOSI, usw. bei Verwendung mit dem SDCC nicht
als Eingang bzw. Ausgang festlegen muss?
Ich erinnere mich da nur an den avr-gcc bei dem man ja immer die DDRx
Register setzen musste.

von Ralf (Gast)


Lesenswert?

Hi,

wenn ich dein "Problem" jetzt richtig verstehe:

Du hast vorher mit AVRs gearbeitet. Bei AVRs kann (muss) man einen
IO-Pin explizit als Ein- bzw. Ausgang schalten.

Ein AT89xxxx ist ein 8052-Derivat. Bei 8052ern ist ein Pin dann als
Eingang geschaltet, wenn man eine 1 auf den Pin schreibt.

Das ist ein "beliebtes" Problem bei Umsteigern 8052 <-> AVR.

Ich rate dir deswegen, dir das Hardware-Manual zu den 8052ern auf der
Atmel Homepage runterzuladen, da ist alles fein säuberlich
beschrieben.
Guck dir den Aufbau der Ports eines 8052 an, dann wird alles klar ;-)

Ob der SDCC automatisch eine 1 auf einen Port-Pin schreibt, wenn du in
C einen Port(pin) lesen willst, wage ich allerdings zu bezweifeln...

Gruß Ralf

von hjen (Gast)


Lesenswert?

Danke für das interessante Detail!
Werds morgen ausprobieren.

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.