Go Down

Topic: 4 oder 8 Bit Ansteuerung von LCD Display (Read 1 time) previous topic - next topic

-Micky

Macht sich das eigentlich geschwindigkeitsmäßig bemerkbar ob man ein LCD Display mit 4 oder 8 Bit ansteuert? Hardwaremäßig natürlich entsprechend verdrahtet.


Micky

uwefed

Teoretisch ist 8 Bit doppelt so schnell wie 4 Bit Interface.
Praktisch ist zu sehen wie die Pins gesetzt werden. Wenn sie mittels digitalWrite() gesetzt werden und die 4 Arduino-Ausgänge am selben Port sind dann ist ein Geschwindigkeitszuwachs mit Direkt Port Manipulation sicher höher als der Übergang zu 8 Bit Bus.
Grüße Uwe

sth77

Habe mal einen Blick auf die LiquidCrystal-Lib geworfen, da wird tatsächlich mit digitalWrite gearbeitet.
Mein verwaister Arduino-Blog: http://www.sth77.de/ - letzter Eintrag: Diamex-ISP in der irgendwann mal aktuellen Arduino-IDE 1.6.4

uwefed

#3
Dec 02, 2013, 11:11 pm Last Edit: Dec 02, 2013, 11:13 pm by uwefed Reason: 1
Wenn man bedenkt, daß man für jedes Signal ein X-Beliebiges Pin des Arduino wählen darf, ist das nicht verwunderlich.
Also mit der Standard LiquidCrystal-Lib ist eine 4Bit oder 8Bit Ansteuerung ziemlich gleich schnell.
Grüße Uwe

sschultewolter

Wirkliche Leistungsunterschiede könnte man evtl. mit dem Auge erkennen. Hab das ab und zu, dass das Display immer "nachzieht". Wobei das nur bei der Quick&Dirty Methode auftrat.
Soll heißen, er bekam in jedem loop (nonBlocking) erneut seine Daten. Ausreichend ist es, wenn die Daten nur gesendet werden, wenn sich etwas ändert ;)
Orginal Atmel AVRISP mkII zu verkaufen. Anfrage per PN ;)

Serenifly

Das liegt wahrscheinlich daran, dass die Displays sehr träge sind. Die haben Zeiten im Millisekunden Bereich.

Klaus_ww

Bissel off-Topic, aber trotzdem frag ich mal hier.
Läßt sich irgendwie für Oberflächen-Freizeit-Programmierer wie mich rauskriegen, wieviele Taktzyklen z.B. ein Digitalwrite benötigt? Was da unter der Haub passiert entzieht sich vollständig meiner rudimentären Kenntnis, aber interessant wär's schon.
Wer weiß sowas?
Freizeit-Programmierer mit moderatem Ehrgeiz besseren Code zu schreiben.

Serenifly

Siehe hier:

http://www.billporter.info/2010/08/18/ready-set-oscillate-the-fastest-way-to-change-arduino-pins/

uwefed


Bissel off-Topic, aber trotzdem frag ich mal hier.
Läßt sich irgendwie für Oberflächen-Freizeit-Programmierer wie mich rauskriegen, wieviele Taktzyklen z.B. ein Digitalwrite benötigt? Was da unter der Haub passiert entzieht sich vollständig meiner rudimentären Kenntnis, aber interessant wär's schon.
Wer weiß sowas?

Mittels millis/micros vor und nach der Funktion. Nimm die Referenzzeit mit 2  millis/micros ohne irgendwas dazwischen.
So erhälst Du die Zeit und mittels der Taktfrequenz erhälst Du ca die Anzahl Taktzyklen.
Grüße Uwe

Go Up