Forum: Mikrocontroller und Digitale Elektronik mit SCL/SDA & Mega8 Schiebergister laden


von pripri (Gast)


Lesenswert?

Guten Abend,

wollte ein 8-bit-seriell/parallel-Schieberegister (74164) mit Daten 
füttern.
Will den 2WireSerielBus verwenden. Einfach die Daten in das 
entsprechende Register und per Interrupt weg damit. Wär das machbar, 
oder brauch ich den ganzen Schnickschnack (Start, Adresse, Stop)?

mfg pripri

von D. W. (dave) Benutzerseite


Lesenswert?

Mit TWI (2WireSerielBus) kannste das vergessen, wenn, dann musst du SPI 
nehmen. Da geht das gewollte auch ohne Start  Adresse  Stop.

von Magnus Müller (Gast)


Lesenswert?

Der "2WireSerielBus" (oder auch IIC, I²C, TWI) ist hierfür der falsche 
Ansatz. Für einfache Schieberegister nimmst du einfach die Hardware-SPI. 
Weitere Infos gibts im Datenblatt, oder über die Suchfunktion dieses 
Forums...

Gruß,
Magnetus

von SiO2 (Gast)


Lesenswert?

Als erstes brauchst du 2 Datenblätter, das vom passenden uC und das vom 
74164.
Wenn du das Protokoll verstanden hast, und immer noch probleme da sind, 
wird gern geholfen, aber ohne sich vorher zu informieren, was i2c ist 
bzw. wie es funktioniert, dann kommen halt nr solche "Arroganten" 
antworten wie diese gerade.

von Magnus Müller (Gast)


Lesenswert?

@Si02:

>> dann kommen halt nr solche "Arroganten" antworten wie
>> diese gerade.

Mann oh mann... Das sollte nun wirklich nicht arrogant sein! Aber 
immerhin hast du schon richtig erkannt:

>> Wenn du das Protokoll verstanden hast, und immer noch probleme
>> da sind, wird gern geholfen, aber ohne sich vorher zu
>> informieren, was i2c ist...

Zum Thema >Ansteuerung von Schieberegistern mit SPI< gibts hier im Forum 
halt schon unzählige Threads.

Mal sehen... vielleicht kann ich ihm ja mal auf die Schnelle ein Paar 
raussuchen. Man muss den ganzen Kram ja nicht immer wieder aufs Neue 
durchkauen.

Gruß,
Magnetus

von pripri (Gast)


Lesenswert?

Das geht ja noch flott hier um diese Zeit ;-).

Hab schon beide Datenblätter, SPI-Pins sind schon belegt, halt nur noch 
TWI frei. Zu sendendes Datenbyte ins TWDR, danach TWINT-bit in TWCR auf 
Null und ab geht die Post. Geschwindigkeit kann man ja mit TWBR/TWPS 
einstellen. Hätt ja sein können das es schon mal jemand gemacht hat, man 
muß ja das Rad nicht jedesmal neu erfinden.

Schönen Abend noch.


von Magnus Müller (Gast)


Lesenswert?

Hier ein paar Links:

Beitrag "Ausgabeport mit 74HC164 und SPI Schnittstelle ?"
(hier wird gleich mal vom 74164 abgeraten; Verweis auf 74595)

http://www.mikrocontroller.net/articles/Porterweiterung_mit_SPI
(Porterweiterung mit SPI; Hardware)

http://www.mikrocontroller.net/articles/Serial_Peripheral_Interface
(gaaaanz kurze Erklärung des SPI)

Beitrag "Re: Schieberegister 74HC595 ansteuern"
("Schieberegister 74HC595 ansteuern")

Gruß,
Magnetus

von Magnus Müller (Gast)


Lesenswert?

>> SPI-Pins sind schon belegt, halt nur noch TWI frei.

Dann halt zur Not SOFTWARE-SPI.

http://www.atmel.com/dyn/resources/prod_documents/doc1108.pdf

Gruß,
Magnetus

von pripri (Gast)


Lesenswert?

Hab leider keinen Pin für OutputEnable mehr frei, 2 müssen reichen.
Außerdem den 164 in meiner Bastelkiste rrumliegen.

von crazy horse (Gast)


Lesenswert?

"SPI-Pins sind schon belegt" - womit denn? Wenn die SPI-Funktion schon 
benutzt wird, kannst du dich dort mit einklinken. Sind es normale 
Portfunktionen, verschiebe es auf einen anderen Bahnhof.
Ansonsten glaub es einfach, mit der TWI-Schnittstelle wird das nichts. 
Du kannst es allerdings an die Pins (oder irgendwelche anderen) und die 
Sache per Software raustakten. Bit rausschieben, Takt erzeugen, und dann 
von vorn, wenn noch nicht alle Datenbits raus sind.

von pripri (Gast)


Lesenswert?

>> Dann halt zur Not SOFTWARE-SPI.
Warum, wenns einfacher gehen kann. Obs einfacher ist weiß ich noch 
nicht, werds aber mal probieren und mich dann wieder melden
Gute Nacht, meine Frau will auch noch zu ihrem recht kommen.

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.