Hallo Andreas,
folgende Frage vorab:
Verwendest Du einen externen Quarz oder wie kommst Du auf 10500000 Hz? Ist eine komische Frequenz, aber gut, daran solls ertmal nicht scheitern. Ist mir nur aufgefallen.
So nun zu Deinem Code:
Nach dem ersten Überfliegen konnte ich kein prinzipielles Problem finden. Aber, der SHIFTOU-Befehl hat einen 4. Parameter der meiner Meinung nach nicht optional ist sondern immer angegebn werden muss. Er steuert, wie und in welcher Reihenfolge die Bits rausgetaktet werden. Der Parameter fehlt in Deinem Beispiel komplett. Es könnte sein, das BASCOM hier rein zufällig was macht, was BASCOM gerade gefälltund das daher Dein Fehlverhalten kommt.
Schau Dir bitte hierzu den Parameter Option an:
Aufgrund Deiner Beschaltung und der Daten würde ich fast sagen, dass der Parameter "1" der richtige wäre. Ggf. Musst Du das aber ausprobieren.
Ansonsten müsste es, soweit ich aus der Ferne erstmal beurteilen kann, funktionieren. Der Storage-Clock zur Übernahme der Daten an die Ausgänge ist ok.
Vom Timing her ist kein Problem zu erwarten da Du mit 1050000 Hz einen Clock-Cycle von ca. 95 ns hast und damit weit über allen MIN/TYP/MAX Werten des Schieberegisters liegst. Sollte also auch OK sein.
Würde sagen, check mal den Parameter OPTION und melde Dich wieder.
Gerne auch wieder mit Viedeo
Grüße,
Markus
folgende Frage vorab:
$crystal = 10500000
Verwendest Du einen externen Quarz oder wie kommst Du auf 10500000 Hz? Ist eine komische Frequenz, aber gut, daran solls ertmal nicht scheitern. Ist mir nur aufgefallen.
So nun zu Deinem Code:
Nach dem ersten Überfliegen konnte ich kein prinzipielles Problem finden. Aber, der SHIFTOU-Befehl hat einen 4. Parameter der meiner Meinung nach nicht optional ist sondern immer angegebn werden muss. Er steuert, wie und in welcher Reihenfolge die Bits rausgetaktet werden. Der Parameter fehlt in Deinem Beispiel komplett. Es könnte sein, das BASCOM hier rein zufällig was macht, was BASCOM gerade gefälltund das daher Dein Fehlverhalten kommt.
Schau Dir bitte hierzu den Parameter Option an:
Option can be :
0 – MSB shifted out first when clock goes low
1 – MSB shifted out first when clock goes high
2 – LSB shifted out first when clock goes low
3 – LSB shifted out first when clock goes high
Aufgrund Deiner Beschaltung und der Daten würde ich fast sagen, dass der Parameter "1" der richtige wäre. Ggf. Musst Du das aber ausprobieren.
Ansonsten müsste es, soweit ich aus der Ferne erstmal beurteilen kann, funktionieren. Der Storage-Clock zur Übernahme der Daten an die Ausgänge ist ok.
Vom Timing her ist kein Problem zu erwarten da Du mit 1050000 Hz einen Clock-Cycle von ca. 95 ns hast und damit weit über allen MIN/TYP/MAX Werten des Schieberegisters liegst. Sollte also auch OK sein.
Würde sagen, check mal den Parameter OPTION und melde Dich wieder.
Gerne auch wieder mit Viedeo
Grüße,
Markus