Es scheint dass ein invertierender Schmitt Trigger de facto Standard ist, während ein nicht Invertierender eher selten ist (?). Ich möchte zwecks Signalaufbereitung zwischen dem ATMega8A und einem LCD einen Schmitt Trigger verbauen. Soweit ich das sehe werden die Signale umgedreht, aus High wird Low usw.. Das würde bedeuten, dass ich ALLE Signale über den Schmitt Trigger ziehen muss, also Daten- und Steuersignale. Bin ich da richtig oder komplett auf dem Holzweg ? Beim LCD Controller kommen dann praktisch alle Signale gespiegelt an und werden dann zeitversetzt richtig interpretiert ? Hintergrund dabei ist, dass mein Versuch ein LCD anzusteuern bis 2 MHz problemlos funktioniert, darüber hinaus aber nichts mehr läuft. Bin dankbar für eine kompetente Antwort :-)
Rudolf M. schrieb: > Ich möchte zwecks Signalaufbereitung zwischen dem ATMega8A und einem LCD > einen Schmitt Trigger verbauen Warum? Dein Problem ist ein Zeichen schlechten Layouts und/oder zu langer Kabel und/oder Störeintrahlungen. Bei keinem dieser Probleme helfen STs. Rudolf M. schrieb: > Soweit ich das sehe werden die Signale > umgedreht, aus High wird Low usw. Tja, wie das bei Invertern so ist... Rudolf M. schrieb: > Das würde bedeuten, dass ich ALLE > Signale über den Schmitt Trigger ziehen muss, also Daten- und > Steuersignale. Das hat nichts mit der Invertierung zu tun. Rudolf M. schrieb: > Beim LCD Controller kommen dann praktisch alle Signale gespiegelt an und > werden dann zeitversetzt richtig interpretiert ? Nein, sie sind invertiert und werden pegelversetzt (fehl-)interpretiert. Du könntest einfach in der Software einfach alles invertieren, dann ist es am Dispay wieder richtigrum. Rudolf M. schrieb: > Hintergrund dabei ist, dass mein Versuch ein LCD anzusteuern bis 2 MHz > problemlos funktioniert, darüber hinaus aber nichts mehr läuft. Ein ST als Bustreiber wird nicht wirklich was nutzen. Ein Bustreiber dagegen schon, der ST-Teil ist über, denn beide Partner liefern einwandfreie digitale Signale. Warum muss es schneller als 2MHz sein? Was für ein Display? Fazit: - du plenkst - du lernst hoffentlich noch wie das mit dem Controller geht - zeige Fotos und einen Schaltplan
Rudolf M. schrieb: > Bin ich da richtig Nein. Ausgänge eines ATmega können beliebig programmiert werden. Du kannst also die Invertierung per Programm korrigieren. Rudolf M. schrieb: > Hintergrund dabei ist, dass mein Versuch ein LCD anzusteuern bis 2 MHz > problemlos funktioniert, darüber hinaus aber nichts mehr läuft. Das wird mit Schmitt-Trigger nicht besser, das Timing direkt vom ATmega ist direkter, die Signalqualität von kurzen Leitungen ausreichend. Du hast ein anderes Problem.
Die klassischen Text-LCDs mit HD44780 sind langsam, max. 1MHz.
Rudolf M. schrieb: > Es scheint dass ein invertierender Schmitt Trigger de facto Standard > ist, während ein nicht Invertierender eher selten ist (?). Du faselst. "Schmitt-Trigger" ist eine Funktion, kein Bauelement. Du meinst wohl Logikgatter mit Schmitt-Trigger Eingängen? Die gibt es natürlich auch in nichtinvertierend, bspw. als Bustreiber. > Ich möchte zwecks Signalaufbereitung zwischen dem ATMega8A und einem LCD > einen Schmitt Trigger verbauen. ... > Bin ich da richtig oder komplett auf dem Holzweg ? Ziemlich sicher Holzweg. > Hintergrund dabei ist, dass mein Versuch ein LCD anzusteuern bis 2 MHz > problemlos funktioniert, darüber hinaus aber nichts mehr läuft. Bahnhof. Was für ein LCD? Welche Schnittstelle? Kann der LCD-Controller so schnell? Und warum muß es überhaupt so schnell sein?
> Dein Problem ist ein Zeichen schlechten Layouts und/oder zu langer Kabel > und/oder Störeintrahlungen. Naja, bei zu langen Kabel koennte ein Bustreiber schon helfen, egal ob dann ein Schmitttriger drin ist oder nicht. Aber wie immer in solchen Faellen. BILDER! Wozu habt ihr alle eure coolen Handy. Schickt bilder vom Aufbau damit wir euch richtig runtermachen koennen. :-) Olaf
Rudolf M. schrieb: > Das würde bedeuten, dass ich ALLE > Signale über den Schmitt Trigger ziehen muss, also Daten- und > Steuersignale. Bin ich da richtig oder komplett auf dem Holzweg ? Was auch immer du für ein LCD betreibst: Du könntest evtl. ein I2C-Interface davor setzen. Dann wären es nur noch 2 Leitungen. Aber vielleicht verrätst du mal, worum es geht, welcher Art deine Fehler sind und wie die Signale aussehen. Wie sieht dein Aufbau aus und was ist das für eine Störquelle, die deine Signale derartig versaut.
Rudolf M. schrieb: > Hintergrund dabei ist, dass mein Versuch ein LCD anzusteuern bis 2 MHz > problemlos funktioniert, darüber hinaus aber nichts mehr läuft. Was steht denn dazu im Datenblatt des unbekannten LCD? In Foren ist es gute Sitte, unbekannte Bauteile zu vermeiden. Also entweder die vollständige Bezeichnung zu nennen oder darauf zu verlinken.
Das LCD ist ein HD44780 kompatibles Display ( Reichelt LCD 162C BL, zweizeilig, blau). Im Datenblatt ist u.a. auf ein "74LS" hingewiesen um die Steilheit des Enable Signals (<25ns) sicherzustellen. Auch ohne 74LS.. erreiche ich eine Anstiegs-/Abfallzeit unter 10ns. Diese Seite habe ich soweit untersuchen können, dürfte also nicht das Thema sein. Vielen Dank für Ihre Antwort !
Rudolf M. schrieb: > dürfte also nicht das Thema sein. Das Thema ist dein beschissener Aufbau. Bzw du null Ahnung hast weil du dein Teil weit jenseits der Spezifkation betreiben willst. Rudolf M. schrieb: > Hintergrund dabei ist, dass mein Versuch ein LCD anzusteuern bis 2 MHz > problemlos funktioniert, darüber hinaus aber nichts mehr läuft.
Rudolf M. schrieb: > Das LCD ist ein HD44780 kompatibles Display Was willst du denn da mit 2MHz ? Oder einer Taktfrequenz des uC von 2MHz und entsprechend geringerem I/O Tempo, aber immer noch offenbar eine Überschreitung der maximalen Geschwindigkeit. Mich würde auch nicht überraschen, wenn du das BUSY Bit gar nicht abfragst, gar kein READ vom Display machst, sondern einfach nur die Daten reinhämmerst.
Ich bin schon öfter auf den Hinweis mit I²C gestoßen, hatte bisher aber noch keine Zeit gefunden mich damit näher zu beschäftigen. Für mich wäre es sehr interessant einen geeigneten Einstieg in das Thema zu finden. Ich finde dazu einige Beiträge aber nicht wirklich etwas, das für einen Einsteiger geeignet wäre. Könnten Sie mir da einen Tip geben ? Vielen Dank für Ihre Antwort !
Rudolf M. schrieb: > Ich bin schon öfter auf den Hinweis mit I²C gestoßen, hatte bisher aber > noch keine Zeit gefunden mich damit näher zu beschäftigen. Rudolf M. schrieb: > Hintergrund dabei ist, dass mein Versuch ein LCD anzusteuern bis 2 MHz > problemlos funktioniert, Toll-Alarm! Toll-Alarm! Toll-Alarm! Freitag, und noch dazu der dreizehnte.
an bauform: Ich dachte bei Abfrage des BF dürfte die Frequenz des Senders eigentlich keine Rolle spielen. In diversen Forenbeiträgen ist da von 8 MHz die Rede was da ohne Probleme funktionieren würde.
Rudolf M. schrieb: > während ein nicht Invertierender eher selten ist (?). mag sein http://www.circuitboardchips.com/sale-10034636-nl17sz17dft2g-ic-chips-single-non-inverting-buffer-with-schmitt-trigger.html
Rudolf M. schrieb: > Ich finde dazu einige Beiträge aber nicht wirklich etwas, das für einen > Einsteiger geeignet wäre. Könnten Sie mir da einen Tip geben ? https://www.e-lab.de/downloads/DOCs/mega8A.pdf Seite 220 ff ciao gustav
Hi >Ich dachte bei Abfrage des BF dürfte die Frequenz des Senders eigentlich keine Rolle spielen. In diversen Forenbeiträgen ist da von 8 MHz die >Rede was da ohne Probleme funktionieren würde. Das Display arbeitet intern mit ca. 250kHz. Das wird nicht schneller. Alles andere ist blanke Augenwischerei. MfG Spess
Rudolf M. schrieb: > ( Reichelt LCD 162C BL, > zweizeilig, blau) Was ist denn im Datenblatt an "Enable Cycle Time min 1000ns" unklar? Schneller als 1MHz ist also nicht garantiert. Und auch nicht notwendig, denn so schnell kann kein Mensch ablesen.
:
Bearbeitet durch User
an Jens und Olaf: An die softwareseitige Lösung zum invertierten Signals hätte ich wirklich selber kommen können, Schande über mich. Aber für mich hat das auch eine gute Seite, weil ich dabei dazulerne. Der Hinweis auf einen Bustreiber ist wirklich brauchbar. Zur Frage der Geschwindigkeit: Es ist mir wichtig die Ursache zu finden warum das mit höherer Frequenz nicht mehr funktioniert. Die Signale haben an sich eine recht brauchbare Form und die timing Angaben im Datenblatt werden eingehalten. Ich habe das mit dem Oszi nachgemesssen ( ist mit 2 Kanälen eine mühsame Sache ) und dabei nicht wirklich etwas signifikantes als Fehlerquelle entdecken können. out of records: was ist mit " - plenkst " gemeint ? Vien Dank für Ihre Antwort.
Peter D. schrieb: > "Enable Cycle Time min 1000ns" Enable Pulse Witdth min. 450ns sollte man auch einhalten.
an Peter: ich verstehe den Beitrag nicht ganz. Für mich sagt das, daß der Impuls (high 450ns und low 550ns) lang sein muss. Es muss eben sichergestellt sein dass der Impuls solange dauert, egal mit welcher Geschwindigkeit die CPU sendet. Mit Einfügen von NOPs muss das eben gesteuert werden.
an Karl: das kommt davon wenn man zuerst nach Tutorials sucht und nicht gleich nach dem Richtigen greift :-) Vielen Dank !!
an Joachim: Meine Schlussfolgerung beruht darauf, dass die Suchfunktion bei Reichelt nur einen invertierenden Schmitt Trigger ausgibt. Das ist aber sicher nicht der Weisheit letzter Schluss :-) Vien Dank!
Rudolf M. schrieb: > Für mich sagt das, daß der Impuls > (high 450ns und low 550ns) lang sein muss. Falsch. Er muss mindestens 450ns aktiv sein, und er muss insgesamt mindestens 1000ns dauern. Du kannst auch 3 Sekunden H und 5 low machen, das geht auch. 2MHz erfordert aber <1µs Cycle, und das ist nicht zulässig. Rudolf M. schrieb: > Die Signale > haben an sich eine recht brauchbare Form und die timing Angaben im > Datenblatt werden eingehalten. Kann also irgendwie nicht sein. Rudolf M. schrieb: > Mit Einfügen von NOPs muss das eben gesteuert werden. Hatte ich noch nie, bei 10MHz PICs in Assembler. Wenn man das passend aufbaut, geht's ohne Verzögerungen. Zudem ist das Display eh nicht so schnell, das läuft mit einigen hundert kHz. Warum da 62500 komplette Bilder mit 2 Zeilen a 16 Buchstaben pro Sekunde reinschicken, wenn es eh nur so 50 oder so anzeigen kann? Rudolf M. schrieb: > was ist mit " - plenkst " gemeint ? https://de.wikipedia.org/wiki/Plenk
an Jens: Im timing chart des Datenblattes steht das so PWEH min 450ns High Level und Enable Cycle Time tCYCE min 1000ns. Rise and Delay time max. 25ns. Ja stimmt, bei einer Frequenz von 2 MHz braucht es zumindetst 2 Takte um die notwendige Zeit von 1µs zu erreichen. Bei 2 MHz funktioniert das auch, aber darüber ( bei entsprechender Anpassung ) eben nicht mehr. Hab ich jetzt wieder geplenkt ?
Rudolf M. schrieb: > Es scheint dass ein invertierender Schmitt Trigger de facto Standard > ist, während ein nicht Invertierender eher selten ist (?). Digikey hat von den 74HC7014 (6-fach Schmitt-Trigger, nicht invertierend) aktuell noch 5272 liegen und würde sogar welche verkaufen. https://assets.nexperia.com/documents/data-sheet/74HC7014.pdf
Rudolf M. schrieb: > an Jens: Kannst du vielleicht die Funktionen "Markierten Text zitieren" oder "Antwort mit Zitat" benutzen? Dann kann direkt zum Text des Zitierten kommen und muss nicht suchen/raten, auf was genau du dich bei der Anwort beziehst. Rudolf M. schrieb: > Hab ich jetzt wieder geplenkt ? Ja.
Rudolf M. schrieb: > Im timing chart des Datenblattes steht das so PWEH min 450ns High Level > und Enable Cycle Time tCYCE min 1000ns. Ja. Eben. Du kannst das Display mit maximal 1MHz ansteuern. Punkt. > bei einer Frequenz von 2 MHz braucht es zumindetst 2 Takte um > die notwendige Zeit von 1µs zu erreichen. Du sprichst in Rätseln. 2MHz an welcher Stelle denn? Sprichst du von der Taktfrequenz deines µC? Die interessiert das LCD nicht die Bohne. Dem LCD geht es einzig darum, wie schnell du an seinen Anschlüssen (und da insbesondere an E) wackelst. Und da ist bei 1MHz Schluß. Es ist auch vollkommen sinnlos, schneller sein zu wollen. Nicht nur, daß du das LCD gar nicht so schnell ablesen kannst. Der LCD-Controller steuert das Glas mit einer Wiederholrate von ca. 80Hz an. Das heißt das Display-RAM wird nur einmal alle 12ms dargstellt. Du kannst das Display-RAM locker 10-mal überschreiben, während der Controller es nur einmal auf das Glas ausgibt.
Rudolf M. schrieb: > ( bei entsprechender Anpassung ) eben nicht mehr. ^ ^ Ja, ich habe dir die Stellen markiert. > Hab ich jetzt wieder geplenkt ? und hier wieder: ^ Vor Satzzeichen (Komma, Punkt, Strichpunkt, Doppelpunkt, Fragezeichen, Ausrufezeichen) ist kein Leerzeichen, nur danach. Bei Klammern, Hochkommas oder Anführungszeichen gibt es ebenfalls innen keine Leerzeichen, richtig ist so: (Text Text), 'Text, Text' oder "Text Text". Beim Gedankenstrich vorher und nachher ja, jeweils eines - so mein Gedanke. Bei Maßangaben wird es teils unterschiedlich gehandhabt, ich füge die Einheit ohne Leerzeichen an den Wert an: 1kΩ; 5V. 'Plenken' stört den Lesefluss und führt an ungünstiger Stelle dazu, dass das Satzzeichen oder auch die Einheiten auf eine neue Zeile kommen. In seltenen Fällen (ASCII-Simleys) kann man mal davon abweichen. Ich hoffe, ich habe dich ein wenig schlauer gemacht. :-)
Rudolf M. schrieb: > Ja stimmt, bei einer Frequenz von 2 MHz braucht es zumindetst 2 Takte um > die notwendige Zeit von 1µs zu erreichen. So, jetzt wird ein Schuh draus. Du betreibst deine CPU mit 2MHz, nicht das Signal zum Display. Jetzt ist aber die Frage: welche CPU, wie ist das da mit den Hardwaretakten, wie sieht das aus wenn man in zwei aufeinanderfolgenden Befehlen einen Port H und dann wieder L setzt usw. usf. Wenn man schlau wäre, würde man
1 | SetClock() |
2 | SetData() |
3 | ClearClock() |
4 | goto 10 |
machen, dann ist das automatisch langsamer, aber trotzdem maximal schnell. Und wenn du deine Signalform mal anschaust, musst du da eben ne halbe Mikrosekunde H und mindestens ne weitere Mikrosekunde L erreichen, das ist selbst mit dem überlappenden System der PICs problemlos schaffbar, ohne NOPs zu benutzen. Wenn du da aber bsf/bcf benutzt, ist mit Pech gar kein Puls mehr da, weil die Befehle überlappt werden, obwohl sie technisch passend weit auseinander wären. Übrigens: Hättest du Schaltplan, Fotos und oder Code gepostet, wäre hier viel weniger "häää" gewesen... Welcher Prozessor, welcher Code, wie sieht der Plan aus, wie die Schaltung? Rudolf M. schrieb: > Hab ich jetzt wieder geplenkt ? ^ Da! Komischerweise nur bei Fragezeichen... :)
Rudolf M. schrieb: > Hab ich jetzt wieder geplenkt ? Leerzeichen gehören hinter Satzzeichen, nicht davor.
Zunächst vielen Dank an Alle die sich die Mühe gemacht haben mir zu antworten. Man lernt dabei sehr viel, auch wenn m.E. manche Kommentare eher demjenigen helfen der sie verfasst. Ich bitte um Nachsicht wenn ich die Technik des Zitierens (noch) nicht beherrsche. Ich werde das bei meinem 3. Posting (das erste war 2018) jedenfalls versuchen?!. Die herrschende Meinung bezüglich Leerzeichen oder nicht ist interessant, dabei gibt es auch andere Meinungen. Für mein Dafürhalten sieht das einfach besser aus, wenn zwischen dem letzten Wort und dem Fragezeichen ein Abstand ist. Letztendlich ist das aber out of topic. Gott sei Dank bin ich in einem Alter wo ich das nicht mehr ganz so tierisch ernst sehe. Insbesondere mein Dank an Jens und Wolfgang. Die Hinweise sind konstruktiv und bringen mich wieder ein Stück weiter.
Rudolf M. schrieb: > Die herrschende Meinung bezüglich Leerzeichen oder nicht ist > interessant, dabei gibt es auch andere Meinungen. Für mein Dafürhalten > sieht das einfach besser aus, Es gibt allgemein gültige Rechtschreibregeln. Wer sie ignoriert muss auch damit klarkommen, dass sich andere daran stören.
Stefan ⛄ F. schrieb: > Es gibt allgemein gültige Rechtschreibregeln. Wer sie ignoriert muss > auch damit klarkommen, dass sich andere daran stören. Im besonderen Fall des Plenkens gibt es auch noch Aspekte, die über die reine Rechtschreibungs-Gülle deutlich hinaus reichen. Oder anders ausgedrückt: hier sind die Rechtschreibregeln tatsächlich objektiv sinnvoll. Selbst in der gegenwärtigen Form... Deswegen: wer plenkt, ist ein Vollidiot oder ein Troll oder unbelehrbar, also Vollidiot+Troll.
Ich komme damit gut klar, MICH stört das ja nicht :-)
HildeK schrieb: > Bei Maßangaben wird es teils unterschiedlich gehandhabt, ich füge die > Einheit ohne Leerzeichen an den Wert an: 1kΩ; 5V. Keiner muss sich an irgendwelche Normen gebunden fühlen. Jeder kann es mit dem Leerzeichen zwischen Zahl und zugehöriger Maßeinheit halten wie er möchte. Die DIN 5008 legt fest, dass zwischen einer Zahl und der zugehörigen Maßeinheit ein Leerraum gehört. Ausnahmen bilden die Einheitenzeichen °, ′, ″ für Grad, Fuß, Bogenminute und -sekunde. Die normwidrige Schreibweise ohne Leerzeichen wird hier im Forum meist verwendet, um einen automatischen/hirnlosen Zeilenumbruch zwischen Zahlenwert und Einheitenzeichen auszuschließen, da feste Leerzeichen in der Forensoftware wohl unbekannt sind.
Axel S. schrieb: > Dem > LCD geht es einzig darum, wie schnell du an seinen Anschlüssen (und da > insbesondere an E) wackelst. Und da ist bei 1MHz Schluß. Hi, es gibt current state bits und transition state bits. RS und RWquer sind zum Bleistift current state bits. Das Enable ist ein ganz kritisches Bit. Es ist das transition state bit. Es kommt auf die Flanke an. Und auf nichts anderes. Habe schon Displays n den Fingern gehabt, bei denen war angeblich alles völlig ok, auch vom Programm her. Aber schaut man sich dann im Oszi den Ena Impuls an, weiß man, wieso es nicht funktionieren konnte. Der könnte durchaus eine Vitamin-Spritze durch Schmitt Trigger vertragen. Bei allen anderen Bits völliger Mumpitz. ciao gustav
Ein CPU-Takt von 2MHz hat keinerlei Aussagekraft. Wichtig wäre, ob das gesamte Timing eingehalten wird, also der exakte Quelltext. Will man die CPU möglichst kurz belasten, bietet sich ein Timerinterrupt an, der alle 1ms jeweils nur ein Byte ausgibt. Das ist immer deutlich über der Ableserate des Menschen.
Karl B. schrieb: > Aber schaut man sich dann im Oszi den Ena Impuls an, weiß man, wieso es > nicht funktionieren konnte. Dann bau einen Serienwiderstand ein und gut is'. Dein Oszi hast du hoffentlich mit Tastkopf und Erdfeder angehängt?
Wolfgang schrieb: > Dann bau einen Serienwiderstand ein und gut is'. Na ob das gegen Timingfehler im Quelltext hilft?
:
Bearbeitet durch User
Karl B. schrieb: > Aber schaut man sich dann im Oszi den Ena Impuls an, weiß man, wieso es > nicht funktionieren konnte. Der könnte durchaus eine Vitamin-Spritze > durch Schmitt Trigger vertragen Never. Das Problem liegt dann woanders. (Und sei es nur ein schlecht geeigneter Oszi-Tastkopf).
MaWin schrieb: > Das Problem liegt dann woanders. Hi, war ja nur ein Beispiel. Wenn überhaupt, dann nur Ena. Sonst ST Mumpitz. Was oft auch nicht richtig gesehen wird, die Impulsdauer kann durch einen ST richtig schön vermatscht werdemn, so dass die exakte 1:1 Tastverhältnbis (Duty-Cycle) mit nachgeschalteten FF nötig wird. (Mit Frequenzteilung). Beim Ena kommt es ja nur auf die Flanke an, da spielt ein vermurkstes Tastverhältnis keine große Rolle. Dort kann der ST eingesetzt werden, wenn überhaupt. Ich hab es noch nie nötig gehabt. Bei Leitungslängen bis 30 cm vom µC zum LCD. ciao gustav
:
Bearbeitet durch User
HildeK schrieb: > 'Plenken' stört den Lesefluss und führt an ungünstiger Stelle dazu, dass > das Satzzeichen oder auch die Einheiten auf eine neue Zeile kommen. Oder sogar auf die nächste Seite (bei einem mehrseitigen Dokument).
c-hater schrieb: > Deswegen: wer plenkt, ist ein Vollidiot oder ein Troll oder unbelehrbar, > also Vollidiot+Troll. Könnte man da nicht vereinfacht Trollidiot sagen? :-)
MaWin schrieb: > Mich würde auch nicht überraschen, wenn du das BUSY Bit gar nicht > abfragst, gar kein READ vom Display machst Braucht man auch nicht zwingend. Ich hab mir mal in einem Anwendungsfall mit einem 5V-Display an einem 3.3V-µC den Levelshifter damit eingespart, und natürlich vorher nach Datenblatt sichergestellt, daß das verwendete Display 3.3V sicher als high erkennt. > sondern einfach nur die Daten reinhämmerst. Geht problemlos - allerdings sollte man dann die Zeiten aus dem Datenblatt sicherheitshalber verdoppeln.
Nop schrieb: > MaWin schrieb: > >> Mich würde auch nicht überraschen, wenn du das BUSY Bit gar nicht >> abfragst, gar kein READ vom Display machst > > Braucht man auch nicht zwingend. Wenn man Daten so schnell wie möglich auf das Display ausgeben will, sollte man es schon tun. Wenn man einfach nur stumpf wartet, muß man sonst ordentlich Sicherheitszuschlag bei den Wartezeiten machen. Das Timing des Controllers kommt ja aus einem RC-Oszillator. Mit ordentlich Toleranzen. > Ich hab mir mal in einem Anwendungsfall mit einem 5V-Display an > einem 3.3V-µC den Levelshifter damit eingespart Klar. Wenn man nicht vom LCD lesen will, spart man sich durchaus Aufwand. Es gibt da ja auch diese Trickschaltung mit einem 74HC595 am LCD, wo man nachher nur noch zwei Steuerleitungen braucht.
Axel S. schrieb: > Es gibt da ja auch diese Trickschaltung mit einem 74HC595 am > LCD, wo man nachher nur noch zwei Steuerleitungen braucht. Für unter 1€ bekommst du auch "Trickschaltungen", die ein LCD1602 per I2C ansteuerbar machen. https://www.ebay.com/itm/293383214103
Wolfgang schrieb: > Für unter 1€ bekommst du auch "Trickschaltungen", die ein LCD1602 per > I2C ansteuerbar machen. Hi, dabei die richtige Lib nehmen. Die Pinne für Enable, Read/write/quer, RS sind ja nicht direkt hardwaremäßig ansprechbar, das muss bei der Ansteuersoftware unbedingt beachtet werden. Null-acht-fünfzehn-LCD-Init geht da nicht. Und die Slave-Adressen sind ursprünglich 7-bittig. Fallstrick numero 1. Beitrag "Re: Anfänger Will ATtiny2313 mit Display uber I2C verbinden" Peter D. schrieb: > Das Setzen der Pindirection in "lcd_init" fällt natürlich weg. ciao gustav
:
Bearbeitet durch User
Karl B. schrieb: > Pinne Pins Karl B. schrieb: > Read/write/quer Read/Not-Write Diese I2C-Dinger sind m.E. Schrott, weil man da eben auch 2 Sequenzen schicken muss, um ein Bit (z.B. das E-Bit) zu pulsen, dadurch wird das noch lahmer.
Karl B. schrieb: > Und die Slave-Adressen sind ursprünglich 7-bittig. Fallstrick numero 1. I2C Adressen sind immer 7-bittig. Das ist im Standard so fest gelegt. Dass das ohne passende Bibliothek nicht geht, sollte jedem klar sein, der Copy&Paste halbwegs selbständig hinbekommt.
Wolfgang schrieb: > Dass das ohne passende Bibliothek nicht geht, sollte jedem klar sein, > der Copy&Paste halbwegs selbständig hinbekommt. Hi, nicht alle sind so schlau wie Du: Beitrag "Re: I2C-Protokoll aus Datenblatt erfüllt? (Fuel Gauge LC709203F)" ciao gustav
Nop schrieb: > Braucht man auch nicht zwingend Wenn man ganz schnell mit rinem Display kommunizieren will, dann schon. Axel S. schrieb: > Es gibt da ja auch diese Trickschaltung mit einem 74HC595 am LCD, wo man > nachher nur noch zwei Steuerleitungen braucht. Echt ? Clock, Data, Strobe wäre normal, also 3. Da ein 595 keine Schmitt-Trigger-Eingänge hat, und ein Wrchsel von 0/1 oder 1/0 laut Datenblatt (Nexperia) maximal 500ns dauern darf, kann man keine simple RC Verzögerung nutzen. Clock und Data koppeln geht beim Auslesen, also der Gegenrichtung, aber beim Schreiben ?
MaWin schrieb: > Clock, Data, Strobe wäre normal, also 3. Strobe kann man aus dem Ausbleiben eines Clock Impulses ableiten.
Stefan ⛄ F. schrieb: > Strobe kann man aus dem Ausbleiben eines Clock Impulses ableiten Nicht ohne Zusatz-IC.
MaWin schrieb: > Nicht ohne Zusatz-IC. So weit sind wir (besser gesagt seid ihr) schon wieder weg vom Thema. Gratuliere! Hauptsache es wird gelabert und jeder weiss was besser als der Andere, egal wohin es führt.
MaWin schrieb: > Stefan ⛄ F. schrieb: >> Strobe kann man aus dem Ausbleiben eines Clock Impulses ableiten Darauf lief es hinaus. Wobei es nicht darum geht, den '595 zu latchen - dafür kann man einfach Schiebetakt und Latchtakt verbinden. Der 595 latcht dann immer die Daten vom Takt vorher. Aber das stört nicht, weil man ja sowieso nur 5 Bits braucht. Vom ausbleibenden Taktsignal wird der Impuls für E(nable) des LCD abgeleitet. > Nicht ohne Zusatz-IC. Ich finde die Schaltung nicht mehr. Ich weiß aber noch, daß ich das mal gesehen habe. Wahrscheinlich sogar in diesem Forum. Und mir damals gedacht habe "meine Güte, was für ein Aufriss, um einen GPIO zu sparen". Ist aber für diese Diskussion egal. Denn auch wenn man den '595 mit 3 GPIOs ansteuert, kann man trotzdem das BUSY Flag des LCD nicht auslesen.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.