Wie kann ich wenn ich mir eine eigene Bibliothek, auf Grundlage der SPI_MCP3008.library, zur SPI Kommunikation für ein LCD - Display erstelle die Taktfrequenz und den SPI - Modus ändern.
Ich dachte das würde mit den Variablen _diMaxSpeed und _diMode funktionieren, allerdings bleibt bei mir die Taktfrequnz
immer auf 1 MHz und der SPI Modus immer auf Modus 0, für das LCD brauche ich aber SPI Modus 3.
Wann werden die neuen Werte übernommen, bzw. welche Werte kann ich für die Variablen eintragen?
Kann mir diesbezüglich jemand weiterhelfen?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo,
man müsste eigentlich im Body vom FB (wo ja die Zustandsmaschine ist und der init() aufruften wird),
den mode _diMode und Geschwindigkeit davor setzen.
SUPER^();
CASE _iState OF
0: //hier mode und Geschwindigkeit setzen _diMaxSpeed:=100000; _diMode:=3;
IF SUPER^.init() THEN
_iState := 1;
END_IF
1:
_iState := 10;
END_CASE
Hoffe das funktioniert, hab es nicht getestet daher bitte um Feedback.
Grüße
Edwin
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Leider funktioniert die Einstellung der Geschwindigkeit gar nicht
Habe hier verschiedenste Werte probiert, aber keine Änderung
feststellbar.
Nach meiner Suche im Netz sollte eigentlich bei der Geschwindigkeit
ein Teiler der CPU Frequenz eingegeben werden, der Teiler muss anscheinend
gerade sein, somit sollten Werte zwischen 2 und 32768 möglich sein.
Habe die Grenzwerte sowie zwischenwerte versucht, leider keinerlei
Auswikung festgestellt. Die Freuquenz des Taktes bleibt immer bei 1 MHz,
also bei einer Periodendauer von 1us. Die Werte habe ich mit dem Oszi gemessen,
sollten somit also stimmen.
Hast du noch eine Idee?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
wir werden das zu nächsten Version ändern/erweitern, so das man bei der' transfer' function auch die Geschwindigkeit mit angegeben werden
kann, wenn du willst könnte ich dir zum Test ne Vorab Version Lib schicken per email.
Grüße
Edwin
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Next, I noticed that for some clock speeds, the data rate doesn’t change – this is due to the rounding issues when calculating the clock divider value. What I have observed is that the speeds available are:
1. 0.5 MHz
2. 1 MHz
3. 2 MHz
4. 4 MHz
5. 8 MHz
6. 16 MHz and
7. 32 MHz.
das nur diese funktionieren.
Grüße
Edwin
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
die neue Lib funktioniert perfekt, die Geschwindigkeit lässt sich wunderbar ändern.
Danke für den super Support .
Das LCD Display 4x20 Zeichen mit Samsung KS0073 Chip lässt sich jetzt ansteuern.
Ich werde ein Demo Peojekt hier im Forum einstellen, wenn es fertig ist.
Gruß Werner
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
prima und danke für die Rückmeldung!
Wir werden hier im Forum (vermutlich nur im englischen - einen bereich einrichten wo die ganzen User ihre selbst erstellten devices/libraries mit anderen teilen können)
Grüße
Edwin
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Wie kann ich wenn ich mir eine eigene Bibliothek, auf Grundlage der SPI_MCP3008.library, zur SPI Kommunikation für ein LCD - Display erstelle die Taktfrequenz und den SPI - Modus ändern.
Ich dachte das würde mit den Variablen _diMaxSpeed und _diMode funktionieren, allerdings bleibt bei mir die Taktfrequnz
immer auf 1 MHz und der SPI Modus immer auf Modus 0, für das LCD brauche ich aber SPI Modus 3.
Wann werden die neuen Werte übernommen, bzw. welche Werte kann ich für die Variablen eintragen?
Kann mir diesbezüglich jemand weiterhelfen?
Hallo,
man müsste eigentlich im Body vom FB (wo ja die Zustandsmaschine ist und der init() aufruften wird),
den mode _diMode und Geschwindigkeit davor setzen.
SUPER^();
CASE _iState OF
0:
//hier mode und Geschwindigkeit setzen _diMaxSpeed:=100000; _diMode:=3;
IF SUPER^.init() THEN
_iState := 1;
END_IF
1:
_iState := 10;
END_CASE
Hoffe das funktioniert, hab es nicht getestet daher bitte um Feedback.
Grüße
Edwin
Hallo Edwin,
danke für die schnelle Antwort.
Hier die Ergebnisse meiner Tests:
Die Einstellung des Modus funktioniert problemlos, hier gilt:
Mode 0 = CKPOL=0, CKPHA=0
Mode 1 = CKPOL=0, CKPHA=1
Mode 2 = CKPOL=1, CKPHA=0
Mode 3 = CKPOL=3, CKPHA=3
Also so, wie es sein soll
Leider funktioniert die Einstellung der Geschwindigkeit gar nicht
Habe hier verschiedenste Werte probiert, aber keine Änderung
feststellbar.
Nach meiner Suche im Netz sollte eigentlich bei der Geschwindigkeit
ein Teiler der CPU Frequenz eingegeben werden, der Teiler muss anscheinend
gerade sein, somit sollten Werte zwischen 2 und 32768 möglich sein.
Habe die Grenzwerte sowie zwischenwerte versucht, leider keinerlei
Auswikung festgestellt. Die Freuquenz des Taktes bleibt immer bei 1 MHz,
also bei einer Periodendauer von 1us. Die Werte habe ich mit dem Oszi gemessen,
sollten somit also stimmen.
Hast du noch eine Idee?
Hallo,
wir werden das zu nächsten Version ändern/erweitern, so das man bei der' transfer' function auch die Geschwindigkeit mit angegeben werden
kann, wenn du willst könnte ich dir zum Test ne Vorab Version Lib schicken per email.
Grüße
Edwin
Hallo Edwin,
das wäre super, wenn du mir vorab die Lib schicken könntest, dann könnte ich mit meinem LCD Projekt weiter kommen.
Mail bitte an: e hinterseer@lambda-gmbh.de e
Danke im Voraus.
Gruß Werner
Gesendet von iPad mit Tapatalk
Hallo Werner,
nochmal zu diesen Speedwerten,
hast du mal diese Werte versucht?
Hier schreibt ja ein Raspberry Pi User:
https://projects.drogon.net/understandi ... pberry-pi/
Next, I noticed that for some clock speeds, the data rate doesn’t change – this is due to the rounding issues when calculating the clock divider value. What I have observed is that the speeds available are:
1. 0.5 MHz
2. 1 MHz
3. 2 MHz
4. 4 MHz
5. 8 MHz
6. 16 MHz and
7. 32 MHz.
das nur diese funktionieren.
Grüße
Edwin
Hallo Edwin,
ja, ich hab auch diese Werte ausprobiert, funktioniert leider auch nicht.
Gruß Werner
Hallo Werner,
und die Testlib die ich dir per Email geschickt hatte?
Grüße
Edwin
Hallo Edwin,
die neue Lib funktioniert perfekt, die Geschwindigkeit lässt sich wunderbar ändern.
Danke für den super Support .
Das LCD Display 4x20 Zeichen mit Samsung KS0073 Chip lässt sich jetzt ansteuern.
Ich werde ein Demo Peojekt hier im Forum einstellen, wenn es fertig ist.
Gruß Werner
Hallo Werner,
prima und danke für die Rückmeldung!
Wir werden hier im Forum (vermutlich nur im englischen - einen bereich einrichten wo die ganzen User ihre selbst erstellten devices/libraries mit anderen teilen können)
Grüße
Edwin