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 Thomas, > > > An verschiedenen Stellen schreibst du was über das Clockstretching. > > > > Hier hab ich einen Phillips-bautein den P87LPC764 > > > > Bitte unterscheide zwischen I²C-Bus-Bausteinen und µController, die als Slave betrieben werden, > da i.d.R. nur diese Clockstreching benötigen. > > > Wäre super schön wenn du die Zeit finden würdest, das ins OS einzubinden. > > Ich bin am Überlegen, die I²C-Routinen komplett zu überarbeiten. > Jedoch werde ich dann nur Clockstreching nur eingeschränkt implementieren. > D.h., es wird ein Timeout geben und nicht beliebig lange auf die "Freigabe" von SCL gewartet. > Das ist notwendig, da die I²C-Bus-Routinen nicht im Hintergrund ausgeführt werden > und somit das Programm verzögern würden, wenn z.B. SCL aus irgendeinem Grund auf low gezogen würde. > Evtl. werde ich auch sehen, daß ich eine Art Hintergrundausgabe beim I²C-Bus mache, > wie es beispielsweise bei den COM-Send-Routinen der Fall ist. > Aber dafür brauche ich etwas mehr Zeit am Stück. > > Ich habe testweise die original I²C-Read-Routine modifiziert, die ein Timeout > von 1024 Schleifendurchläufen bei jedem Clock-Zyklus hat. > Eine Timeout-Schleife sieht hier so aus: > <asm> > MOV R10, #0400h > _i2cR2: > CMPD1 R10, #0h > JMPR cc_EQ, _i2cR2a > JNB MRST,_i2cR2 > _i2cR2a: > </asm> > Zusätzlich ist habe ich die Clockleitung von Push-Pull in OD geändert wie es > beim I²C-Bus natürlich sein soll. > Ich verwende derzeit dieses einfache Clockstreching für experimentelle > ASM-Routinen zum eDIP240, da die CC2 in ASM einfach viel zu schnell ist, > damit der Controller des Displays bei der Datenübertragung hinterherkommt. > Die komplette Routine kann ich aber derzeit nicht veröffentlichen, da ich hier > etwas zu viel probiert habe und der Code entsprechend aussieht. ;-) > > Vielleicht werde ich übergangsweise auch ein ASM-Modul schreiben, welches > statt den OS die I²C-Bus-Routinen verwendet werden kann. > Das wäre auf jeden Fall kurzfristiger realisierbar und OS-unabhängig. > > MfG André H.
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB