Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Plötzlich Probleme mit eDIP Kategorie: Programmierung (von Markus - 4.01.2010 19:56)
Als Antwort auf Re: Plötzlich Probleme mit eDIP von Rudi Renninger - 4.01.2010 18:24
Ich nutze:
C-Control II Station, OSOPT V3.1
Hallo,

ich hatte auch öfters Probleme mit der Interrupt Erkennung vom eDIP-TFT INT Ausgang.
Ich hab dann den INT Ausgang vom eDIP-TFT auf einen BC547 Transistor geschalten.
(Dadurch hat sich der INT auch invertiert. D.h. 5V = INT und 0V = Kein INT.)
Ich hab auch so ca. 10m CAT-5 Leitung zwischen CC2 und eDIP. Evtl. lag es
ja auch daran (SDA/SCL laufen über P82B96 I2C-Bus Buffer).

Aber seitdem werden alle INT vom eDIP-TFT 240 sauber erkannt.

Markus




> > Hallo Wema,
> >
> > > Und dann habe ich meinen Programmcode optimiert, d.h. sämtliche Teile, die ich nur für das 4x20LCD
> > > benötigte, hinausgeschmissen. Da der Code für aämtliche Menüs etc. auf dem eDIP einfacher zu
> > > programmieren ist, habe ich eine Menge Code gespart. Mein jetziges Programm hat nur noch eine
> > > Grö�e von rund 18.000Words. Und seit dieser Version habe ich auch die Probleme: Die Touchbuttons
> > > reagieren nicht mehr auf jeden Druck, sondern meist nur noch auf den 2. bis 5. Und weiterhin passiert
> > > es öfter, dass bei einem Menüpunkt plötzlich ein anderer angezeigt wird, den ich vorher ohne Erfolg
> > > betätigt hatte. Ich habe seit 3 Tagen den Code überprüft und keinen Fehler finden können. Ich möchte
> > > den Code hier nicht abdrucken (ginge auch gar nicht), hoffe aber dennoch auf Eure Hilfe: Kann es sein,
> > > das der Zugriff auf den I2C-Bus durch den geringeren Code zeitlich problematischer geworden ist?
> >
> > Nein, eigentlich nicht.
> > AuÃ?er, Du schickst zu viele Daten an das eDIP, so daÃ? diesesnicht hinterherkommt.
> > Das kann ich mir aber kaum vorstellen. (Im Zweifelsfall testweise ein paar Sleeps einbauen.)
> Hallo Wema,
> habe Dein Posting gefunden (wenn auch schon etwas alt), da ich ähnliche Probleme (hoffentlich)
> hatte ... Meine Lösung/Ursachenforschung sieht derzeit folgenderma�en aus:
> Ich hatte einen freien Touchbereich definiert (ESC "AH") der mir meine ganze Interrupt-Steuerung
> (wait not ports.get(14)) durcheinander gebracht hat. Die Untermenüs und Menüaktionen sind - wie
> bei dir beschrieben unvorhersehbar gekommen bzw. nicht gekommen ...
> Dank des Tipps von Andre (in einem anderen Posting) habe ich eine LED an den Interrupt-Ausgang des EDIPS
> gehängt ... und siehe da: sobald man den frei definierten Touchbereich berührt, blinkt diese
> mehrmals unregelmä�ig auf (vermute mal, dass da das "drag" des Touchbereichs zuschlägt - ist aber
> auch egal :-)). Klar, dass meine ganze Logik durcheinander kommt, da bei jedem Aufblitzen
> der LED etwas in den Sende-Puffer des edips gestellt wird ... Vielleicht irre ich mich auch ...
> Auf jeden Fall habe ich den freien Touchbereich durch einen "normalen" TouchKey (ohne Rahmen)
> ersetzt und seitdem funktioniert das ganze: Wenn ich einmal draufdrücke, dann leuchtet die LED
> (Interrupt edip) auch nur einmal (und nicht mehrere male). Bis jetzt läuft das ganze ohne Probleme
> (zwar erst einen Tag, bin aber zuversichtlich ...).
> zusätzlich baue ich einen sleep zwischen 15 und 30 nach jedem edip Befehl ein. Ob das unbedingt
> notwendig ist? Jedenfalls "verschluckt" sich das edip kein einziges mal ...
>
>   edip.setTouchFont(edipAddress,6); sleep 15;
>   edip.setTouchFrame(edipAddress,0,0); sleep 15;
>   edip.touchKey(edipAddress,1,5,40,120,0,5,1,"R|o|L|a"); sleep 30;
>

> Für nicht Hardware-Lötkolben-Freaks die Bauanleitung für die LED:
> Low current LED (2 mA) mit 1,5 kOhm Widerstand an INT (edip-Platine) und +5 Volt hängen.
> Polarität der LED nicht verwechseln (langes Bein: +5 Volt)
>
> Hoffe, Du hast die Probleme schon selbst gelöst ... aber falls einer mal nach demselben Problem
> sucht, wird er hier vielleicht fündig.
> Dank an alle, die Ihre Lösungen und Tipps hier im Forum kundtun!
> GruÃ?, RR
>
> >
> > > Mu� ich etwa jeden ZUgriff durch das eDIP auf den BUs möglicherweise capturen? Ein ausprobieren
> > > wäre für mich mit viel Arbeit (und möglicherweise unnötiger) verbunden. Daher hoffe ich auf einen
> > > Hinweis aus Euren Reihen. Reicht zur Kollisionsvermeidung augf dem I2C-Bus nicht bereits, das
> > > Andre in seinen Modulen capture-Befehle hat?
> >
> > I²C-Bus-seitig ist bereits alles gecaptured.
> > Hier kann es durch Multithreading zu keinen Problemen kommen.
> > Nur, wenn man eine Ebene höher geht, also z.B. dasselbe eDIP aus unterschiedlichen Threads
> > anspricht, muÃ? man wieder capturen.
> >
> > > Hat jemand ähnliche Probleme gehabt und konnte diese lösen??
> >
> > Hatte ich bisher leider nicht. Sorry.
> >
> > �berwache einmal den Interruptausgang des eDIPs beim Drücken einer Taste.
> > (Zur Not eine LED anschlieÃ?en.)
> >
> > MfG André H.


    Antwort schreiben


Antworten: