Icon Ressource

Mikrocontroller und I2C Bus E-Paper Teil 2 Software 2018-10-07

Hero_123

Mitglied
17 Sep 2010
154
3
18
Sprachen
ANSI C
Hallo achim S.

Ich habe mir mal kurz dieses "Tut" angesehen, ich denke, da sind wohl einige Fehler drin ...
- S/3 z.B - wieso sind "die 2 Dateien i2clcd" nicht notwendig, wenn die Kommunikation via I2C stattfindet?
- S/10 "alle notwendigen Dateien habe ich dem Tut angefügt" - hm, ich kann sie aber nicht finden.
- Und wer ist "PeDa" und "Karl Heinz"?
- Weshalb gibst Du nicht die Quellen (www.xxxxxx.yyy) genau an?
- Haste mal 'ne Zeitmessung gemacht, wie lange es dauert, bis z.B 4 Zeilen mit Text gefüllt sind - z.B größeres Programm mit Tastenabfragen, Darstellung der Tastenrückmeldungen am Display, LEDS , ein weiterer I2C Teilnehmer am I2C Bus etc???
- Haste es am I2C mit 38kHz oder max 100kHz betrieben (S/5 der Beschreibung "EA eLABEL20-A ")

Lauter Fragen, ich weiß ...

Die Zeitfrage deshalb, weil ich auch ein LCD am I2C Bus habe, d.h. ich steuere einen PCA9555D per I2C (100kHz) an, und an dessen PORT A hängt ein 16x2LCD, und wenn ich da 2 Zeilen ausgebe, dauert es ca 50ms...allerdings hat mein ATMega8 nur 3.686 MHz ...

mfg

Hero_123
 

achim S.

Mitglied
Premium Benutzer
16 Jan 2010
548
8
18
Nähe Basel
Sprachen
ANSI C
Hallo Hero
habe das Programm gerade noch mal angeschaut, compiliert und am EPaper etwas ausgegeben. Die Datei ist nicht erforderlich und in meinem Programm nicht mehr enthalten. Das mit den angefügten Datein ist so ein Problem. Habe bisher keine Möglichkeit gefunden es zu machen. Bleibt nur der Umweg über diese Seite. Werde es ran hängen.
PEDA ist Peter Dannegger, ein bekannter Programmierer und hat sehr viele Programm und Grundlagen geschrieben. Karl Heinz ist Karl heinz Buchegger (falls Name richtig geschrieben sonst sorry) ein Programmiere und Moderator auf einer anderen Seite.
Als Quelle habe ich den Hersteller angegeben. Auf seiner Seite ist auch das Datenblatt veröffentlicht. Die Restlichen Teile des Codes habe ich selbst geschrieben. Brauch also nichts angeben. Alle meine Busmodule laufen mit 100kHz und einer Quarzfrequenz von 16MHz. Eine Zeitmessung habe ich nicht durchgeführt. Im Mittel benutze ich 3 bis 4 Module im Testaufbau inclusive einem I/O Board zur Ein- und Ausgabe. Bei einigen TFT Farb Displays hat der Hersteller eine reaktionszeit von 6 Mikro Sekunden angegeben. Das ist echt schnell und ich musste das Programm einige Pausen einbauen sonst bekomme ich Fehlermeldungen.
Noch deine Datein im Anschluss.
achim
 

Anhänge

achim S.

Mitglied
Premium Benutzer
16 Jan 2010
548
8
18
Nähe Basel
Sprachen
ANSI C
Sorry vergessen zu sagen. Bei einigen Testaufbauten muss ich zwei unterschiedliche Displays laufen lassen, ein 3,2 Zoll TFT Color I2C Bus Modul und ein LCD Modul ebenfalls I2C und alles mit 100kHz. Es geht ohne Probleme
 

Hero_123

Mitglied
17 Sep 2010
154
3
18
Sprachen
ANSI C
Hallo achim S.

Vielen Dank für die schnelle Antwort :)

Schade, dass Du nie ein größeres Programm mit diesen Displays getestet hast im Hinblick auf Zeiten. Und ein delay legt den Prozessor unnötig still...

Mein Master Board ist http://shop.myavr.de/Systemboards und Programmer/myAVR Board MK2, bestückt.htm?sp=article.sp.php&artID=40
Mein Port Expander ist http://shop.myavr.de/Add-Ons und Zubehör/myTWI PortExpander.htm?sp=article.sp.php&artID=200000
Mein LCD Display ist http://shop.myavr.de/Add-Ons und Zubehör/myAVR LCD Add-On für Textausgaben, 5 V.htm?sp=article.sp.php&artID=15

und ich verwende auch die i2cmaster.h, die twimaster.c und eine (etwas modifizierte) i2clcd.h und i2clcd.c
("i2clcd.c - LCD over I2C library Designed for HD44870 based LCDs with I2C expander PCF8574X on Atmels AVR MCUs
Copyright (C) 2006 Nico Eichelmann and Thomas Eichelmann"),

wobei ich den Portexpander aufgespaltet habe - PORTA ist für das LCD, PORTB auch für LEDS & hardwaremäßig entprellte Taster.

mfg

Hero_123
 

achim S.

Mitglied
Premium Benutzer
16 Jan 2010
548
8
18
Nähe Basel
Sprachen
ANSI C
Bei einigen Displays von EA muss eine Prüfsumme ausgelesen werden. Dies wird leider etwas zeitverzögert gebildet, so um die 3 Mikrosekunden. Das Auslesen ist zwingend erforderlich. Bei einigen Displays muss ich zudem noch ca. 20 Parameter übertragen. Die Prüfsumme wird vorher errechnet un zum Schluss verglichen. (Farb und Graphik Display). Da ist ein _delay von 10us drin. sonst nichts. Mit myavr habe ich keinerlei Erfahrung. Müsste aber genau so laufen. Das Problem ist der Quarz, 3 MHz ist sehr langsam. Habe auch ein Spiel programmiert mit TFT Color I2C Bus, PCF8591 ANA/Dig Wandler, Joystick in analog und das alles mit dem Atmega1284p mit 16 Mhz. Keinerlei Abbrüche zu sehen und flüssige Darstellung eines bewegten Balles mit Abprallen. Hast du dir mal die Tuts von Multitasking angesehen? Vielleicht führt das zum korrekten Betrieb.
Habe gerade gelesen das du ein LCD verwendest und kein EPaper oder über Adapter, verwende alles direkt. Ist zwar alles teurer, läuft aber ohne Probleme.
achim
 

Hero_123

Mitglied
17 Sep 2010
154
3
18
Sprachen
ANSI C
Diese Tuts mit dem Multitasking - kenne ich, ist aber m.E. kein echtes Multitasking, sondern nur ein timergesteuertes Weiterschalten (kein Round Robin etc).

Ein "quasi Multitasking" habe ich ja schon - mein Master kommuniziert mit dem Slave (beides ATmega8 mit 3.686 MHz) mittels SPI (übertragen 18byte / 100ms, Master gepollt, Slave per ISR); und bestimmte Aufgaben habe ich an den Slave ausgelagert (ist aber alles nur zu Test- und Lernzwecken).

Das ändert aber nichts an meinen 50ms...

mfg

Hero_123
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)