Kurzes Update, bzw. Themenabschluss:
Ich habe jetzt ein Array in mein Programm integriert, welches die drei Bytes der Portexpander erfasst. Nun schiebe ich über dieses Array und einen einzigen SPIOUT-Befehl meine Daten in die 4094-er.
Natürlich werden die Expander dem Array verkehrt herum zugewiesen, so dass sie dann richtigherum an den Expandern anstehen.
Im Prinzip ist die Lösung meines Problems sehr einfach gewesen und der Programmieraufwand war ebenfalls nur minimal.
Für alle, die es interessiert, füge ich nun noch die entscheidenen Codeschnipsel bei, damit die Nächsten dieses Problem hoffentlich einfacher lösen können!
Vielen Dank für Eure Hilfe!!
Ich bedanke mich bei allen, die mir geholfen haben, das zu erkennen und zu verstehen!Code:$regfile = "m8def.dat" $crystal = 16000000 $hwstack = 32 $swstack = 16 $framesize = 40 Baud = 19200 . . . Config Spi = Hard , Master = Yes , Clockrate = 4 Enable Spi Spiinit . . . Dim Expander(3) As Byte Dim Expander1 As Byte Dim Expander2 As Byte Dim Expander3 As Byte . . Do . . Expander1 = Low(speicherwort) Expander2 = High(speicherwort) Expander3 = Low(eingangswort) (Den Expandern kann jeder erdenkliche Wert zugewiesen werden, der in eine Byte-Variable passt z.B. 169 oder es kann heißen Set Expander3.3 , etc.) . . . Expander(1) = Expander3 (Wie gesagt, hier wird das Pferd von hinten aufgesattelt.) Expander(2) = Expander2 Expander(3) = Expander1 Spiout Expander(1) , 3 (Nur noch ein Spiout - Befehl. Macht das ganze auch wesentlich übersichtlicher) . . Loop End
Gruß
Peter







Zitieren

Lesezeichen