Forum: Mikrocontroller und Digitale Elektronik mein portexpander fukntioniert nicht


von jimm (Gast)


Lesenswert?

hi
mein portexpnader mit dem schieberegiste hc165 geht nicht
mein code sieht so aus

DDRB = 0xBF; //miso ist input rest output;
PORTB = ...
SPCR = (<<SPE)|(1<<MSTR);
SPSR = 0xFF;

PORTB &= 0xFE;
PORTB |= 0x01;
while (!(SPSR & _AB(SPIF)));
test = SPDR

wieso geht deas nicht
atmega 168

von A.K. (Gast)


Lesenswert?

Weil er nicht weiss, dass er was tun soll. Vor while() SPDR=0 einfügen, 
damit er 8 Bits raus- und damit auch die gewünschten 8 Bits wieder 
reinschiebt.

von jimm (Gast)


Lesenswert?

hi
das hab ich sconmal probiert geht aber auch nicht?
mfg

von Magnus Müller (Gast)


Lesenswert?

Kannst du mal konkret beschreiben, inwiefern dein Programm vom 
gewünschten Verhalten abweicht? (hab mir den Code jetzt [noch] nicht 
wirklich ernsthaft reingezogen)

Gruß,
Magnetus

von Magnus Müller (Gast)


Lesenswert?

Hast du Pin 15 (Clock Enable Input) des HC165 auf Masse gelegt?

Gruß,
Magnetus

von jimm (Gast)


Lesenswert?

hallo
ich hab den fehler es war ein kurschluß
auf miso deshalb hat er immer 0 eingelesen

von Magnus Müller (Gast)


Lesenswert?

Hattu guuut gemacht.... kopfstreichel

Super! Fehler selbst gefunden... Glückwunsch! freu

Gruß,
Magnetus

P.S.:   Bitte nicht in den falschen Hals bekommen... ich hab
        gerade 2 Gläser Rotwein intus ;)

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.