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
Mit TWI (2WireSerielBus) kannste das vergessen, wenn, dann musst du SPI nehmen. Da geht das gewollte auch ohne Start Adresse Stop.
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
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.
@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
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.
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
>> 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
Hab leider keinen Pin für OutputEnable mehr frei, 2 müssen reichen. Außerdem den 164 in meiner Bastelkiste rrumliegen.
"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.
>> 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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.