Externes Schiebereister einlesen

OP #488972
Lesenswert?
• ▲
▼
Hallo,
ich möchte mit einem ATMEGA88 ein externes Schiebereister(CD4014) 
einlesen. Mit den Bits setzen fuer die Leitungen CLK, PS, habe ich kein 
Problem. Aber wie schiebe ich eine Portpin(8 mal wegen 8 Bits) in ein 
Register hinein. Bin neu mit C-Programmierung angefangen, mir fehlt 
einfach die richtige Codezeile..
 register << 8 mal portpin portb,0.
Oder programmiert man das in C  so:?
1. den Port komplett einliesen,
2. speichert im Register
3  den Pin 0 mit "oder" ausmaskieren
4. und mit "oder" in ergebniss register abspeichern..??

Kleiner Tip wäre sehr hilfreich fuer mich

Bernd
Gast #488993
Lesenswert?
• ▲
▼
Mach es mit SPI. Dafür ist das hervorragend geeignet.

> den Pin 0 mit "oder" ausmaskieren
Wenn Du nur den Wert eines Pins haben willst, dann wird das mit ODER 
sicher nicht klappen. Dafür musste schon UND nehmen.
Gast #489008
Lesenswert?
• ▲
▼
Ach ja, was wichtig ist für die Funktion des SPI (und ein Grund, den 
SS\-Pin doch als Ausgang für PS zu benutzen): Der SS\-Pin vom 
Controller darf, wenn er als Eingang konfiguriert ist, nicht auf Low 
gezogen werden, da sonst in den Slave-Betrieb umgeschaltet wird. Also 
konfiguriere ihn als Ausgang und hänge das PS vom Schieberegister dran. 
Dann kann nichts schiefgehen.
OP #489475
Lesenswert?
• ▲
▼
Hallo,
vielen Dank für die Tipps.
Also ich muss Daten einlesen aus vielen 4014..
Bis zu 32 Stk in Serie. Diese werden als sogenannter S88 Bus verwendet.
(Märklin Interface 6051). Nachzulesen bei "www.digital-bahn.de".
Mein Ziel ist es, das zwar bei Ebay usw. erhältliche Interface 
nachzubauen, die Steuerung der Weichen klappt schon. Technisch gesehen 
ist es ein Interface, was von der RS232 Befehle bekommt, umsetzt in 
I2C-Bus  Befehle an die Zentraleinheit, und die führt dann die Befehle 
aus.
Werde mal mit dem 4014 und dem SPI Bus mir die Pegel und Pulszeiten 
ansehen, was da machbar ist...
Vielen Dank nochmal für die Antworten..
Vielleicht kann ich mich mal hier mit meine Erfahrungen wieder nützlich 
machen.
Bernd

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren