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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.