PicNick,
meinst Du mich ?Zitat:
Der eigentliche Output Q8 ist ja NACH den Latches, kann man zum Kaskadieren also nicht brauchen ?
Nicht Q8, sondern QS, aber ohne Apostroph.
Edit:
Zu langsam...
Druckbare Version
PicNick,
meinst Du mich ?Zitat:
Der eigentliche Output Q8 ist ja NACH den Latches, kann man zum Kaskadieren also nicht brauchen ?
Nicht Q8, sondern QS, aber ohne Apostroph.
Edit:
Zu langsam...
So, habe mal den Code so geschrieben wie es smoke mir vorgegeben hat... habe an jedes register 8 leds gehangen... nichts passiert.... diesmal gar nichts...
habe auch QS genommen, was ich auch vorher schon versucht hatte, bevor ich mich an das Forum gewandt habe...
wie mache ich den strobe??
es ist zum verzweifeln, habe auch noch zweimal meine verdrahtung überprüft...... alles okay....
Ich nehm alles zurück!
Klappt jetzt... programmiere in bascom und lade das Programm über avr studio in den Controller. Hab ein neues Programm in Bascom geschrieben und unter einem neuen Namen gespeichert.
Musste dann natürlich noch das richtige HEX-File auswählen in AVR-Studio. MagicWSmoke's Programm läuft... Danke.
Allerdings erscheinen die Bytes genau verkehrt herum. Expander3 hat Expander1 sein Byte.... Aber Hauptsache es geht jetzt so ersteinmal...Das krieg ich auch noch raus =)
Wie mache ich denn einen Strobe??
Zitat:
Wie mache ich denn einen Strobe??
Alles klar. Danke!Zitat:
Wird über den SS-Pin von Spiout selbst gemacht.
Versuche das jetzt mal in mein Hauptprogramm zu übernehmen....
Vielen Dank für Eure Hilfe!!
Okay, das hattet ihr mir ja erklärt =)
Ich danke Euch noch einmal vielmals! Versuche das heute Nacht nach der Arbeit einmal in mein Projekt zu übernehmen!!
Hier der funktionierende Codeschnipsel:
$regfile = "m8def.dat"
$crystal = 16000000
$hwstack = 32
$swstack = 10
$framesize = 40
Baud = 19200
Config Spi = Hard , Master = Yes , Clockrate = 16
Spiinit
Dim Expander(3) As Byte
Expander(1) = &B10101010
Expander(2) = &B01010101
Expander(3) = &B00110011
Do
Spiout Expander(1) , 3
Delay
Loop
End
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