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

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

Kommentar:
Einfügen von HTML im Kommentar:

Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a>
Bild einfügen: <img src="BILDURL">
Text formatieren: <b>fetter Text</b>  <i>kursiver Text</i> <u>unterstrichener Text</u>
Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b>
C2 Quellcode formatieren: <code>Quellcode</code>
ASM Quellcode formatieren: <asm>Quellcode</asm>
(Innerhalb eines Quellcodeabschnitts ist kein html möglich.)
Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst !  

> Hallo Heribert, > > > ich habe jetz mal Andrès Rat befolgt und die Interrupt-Leitung der eDIPs angeschlossen. > > Mal sehen, event. hat es ja daran gelegen das das ständige Pollen via edip.receiveframe() die Ursache > > für das Problem war. > > Eigentlich sollte das Problem, daß ein eDIP den Bus infolge zu schnellen Sendens lahmlegt, > mit der aktuellen Version 0.50b behoben sein, da vor der Veröfentlichung jemand (nicht ich) > bereits ca. eine Woche lang einen Streßtest mit seinen unzählen im Haus befindenden eDIPs > gamacht hatte, und es bisher zu keinerlei Ausfällen mehr kam. > > Allerdings habe ich nur bei den ASM-Routinen eigene Lese und Schreibroutinen > mit Clockstreching als Ersatz für die internen I²C-Bus-Routinen geschrieben. > Die direkten I²C-Aufrufe in edip.c2 erfolgen noch ohne Clockstreching. > Daher kann ich nicht ausschließen, daß noch nicht alle Probleme beseitigt sind. > Bis zur finalen Version von edip.c2 werde ich nach und nach die ASM-Routinen erweitern, > damit alles, außer das Senden der Startbedingung samt der Adresse, über Clockstreching läuft. > Das Problem ist einfach, daß das eDIP240 die Daten nicht so schnell > verarbeiten, wie die CC2 senden kann. > Das betrifft u.U. auch das Pollen zum Abfragen des eDIP-Sendepuffers. > Daher sollte im normalen Einsatz eine Interruptleitung für den I²C-Bus verwendet werden, > und so nur bei einem Low-Pegel der Leitung <code>edip.receiveframe()</code> aufgerufen werden. > > In Deinem Fall in etwa so: > <code> > o=0; > while not ports.get(IntPort) > { > o=o%2; > edip.receiveframe(eDIPAddr[o],Display[o]); > o=o+1; > } > </code> > Aber noch ein Problem könnte evtl. sein, daß Du bei jedem Schleifendurchlauf > den Displayinhalt komplett aktualisierst: > <code> > if var.Anzeige[o] ==1 anzeige.Kist (eDIPAddr[o]); > else > if var.Anzeige[o] ==2 anzeige.Sist (eDIPAddr[o]); > else > if var.Anzeige[o] ==3 anzeige.SWist (eDIPAddr[o]); > else > if var.Anzeige[o] ==4 ; > else > if var.Anzeige[o] ==5 anzeige.ASollIstK (eDIPAddr[o]); > else > if var.Anzeige[o] ==6 anzeige.betrieb (eDIPAddr[o]); > else > if var.Anzeige[o] ==7 anzeige.oel (eDIPAddr[o]); > else > if var.Anzeige[o] ==9 {anzeige.ver (eDIPAddr[o]);var.Anzeige[o] =0;} > else > if var.Anzeige[o] ==10 {anzeige.Temp (eDIPAddr[o]);} > </code> > Es würde reichen, wenn Du das nur machst, wenn sich der Wert > von <code>var.Anzeige[o]</code> ändert. > Denn sonst bringt die Interrupt-Leitung wenig, wenn Du immernoch nonstop Daten > zu den eDIPs sendest. > Das würde ganz einfach gehen, wenn Du die diese Routinen in eine eigene Funktion setzt, > und in dieser auch das setzen der Anzeige-Variabel übernimmst. > Diese Funktion rufst Du dann einfach aus den Auswertung der Touchtasten auf, > wenn die Menüposition geändert werden soll. > > MfG André H.
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB