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, > > > > Wenn Du viel Zeit mit dem Pollen des Busses verbringst, wird es mit anderen Controllern sicher > > > nicht schneller gehen. Denn die meiste Zeit geht dann für den Bus drauf. > > > > da hätte ich dann aber eine Interrupt-Eingang bzw. könnte in C eine Interrupt-Handler installieren. > > Das würde aber kaum einen Unterschied zu der Lösung machen, einen > eigene Thread für die Interruptbehandlung zu schreiben. > Das Nadelör bei der Ausführung wäre dann der I²C-Bus. > Gut, würde man alles in ASM schreiben, könnte man die Sache vielleicht mit > dem Faktor zwei bis drei beschleunigen. > Nur sollten Interruptroutinen immer so kurz, wie möglich gehalten werden. > Also z.B. keine I²C-Zugriffe, da > 1. dies einfach zu lange dauert (ca. 100µS pro übertragenen Byte) > 2. Du in der Interrupt-Routine eine bestehende I²C-Kommunikation mit Sicherheit störst. > > Also baue Dir einfach einne Pseudo Interrupt-Handler in C2 auf: > <code>thread interrupt > { > wait not ports.get(IntPort); > // ... > // Anweisungen,die bei einem Interrupt ausgeführt werden sollen. > // Dies können Funktionen, direkte Lesezugriffe oder auch > // das Starten von Threads sein. > }</code> > Man kann diesen Thread sogar eine höhere Priorität geben, sobald ein I²C-Bus-Baustein > einen Interrupt auslösen will. > > > > Das werde ich auf jeden Fall ausprobieren. Auf die Idee bin einfach nicht gekommen. /INT gehört halt > > an /INT :-) > > Tja, Interrupt ist eben nicht gleich Interrupt. > Bei I²C-Bus-Bausteinen ist die INT-Leitung eben nur ein Signal, was bedeutet: > "Bei mir hat sich etwas geändert, lies mich aus." ;-) > > > > Das wichtigste ist jedoch, die Bausteine immer komplett abzufragen und nciht Portweise. > > > Also beim PCF8574 den kompletten Byteport bzw. beim MAX7311 den kompletten Wordport. > > > > Das mache ich auch so - sonst würde vor lauter Busabfragen wohl auch gar nichts anderes mehr > > passieren. > > Hmm. Dann gibt es in Deinem Programm irgendwo noch größere > Verzögerungen zwischen den Abfragezyklen. > > > > > Das geht nur mit Array-Variablen. Dazu gehören auch Strings und eigene Datentypen. > > > Ansonsten muß man über den Stack arbeiten, was auch kein Problem ist. > > > > Wenn > > > > das geht, brauche ich eigentlich nur noch meine Sammlung um ein weiteres Assembler-Buch zu > > > > ergänzen :-) > > > > > > Hierfür gibt es kein Buch. > > > > Rudimentär spreche ich noch ein wenig 6502, 8080, Z80, 680x0 :-) Ein Buch muss auf jeden Fall her. > > Achso, Du meinst für die ASM-Programmierung allgemein. > Ich dachte Du meintest ein Buch bei dem der Umgang mit dem CC2-OS in ASM > näher erläutert wird. > Für ASM-Programmierung sind einerseits die Kapitel von "MSR mit CC2" ganz hilfreich - > eines befindet sich unter "Bücher" zum reinlesen -, andererseits soll > das "C166er Leerbuch" von Elektor sehr gut sein. Ich selbst kann das nicht beurteilen, > da ich es nicht hab'. Jedoch habe ich schon lange vor, es mir zu kaufen. Ich komme > nur vor lauter Arbeit nicht dazu. ;-) > > > > Jedoch sollte z.B. der ASM-Treiber sys0001 die Parameterübergabe verdeutlichen. > > > > Danke für Deine Hinweise. Den sys0001 werde ich mir anschauen (sobald ich den Assembler ein wenig > > lesen kann). > > Ich finde, der C166er Assembler ist sehr einfach zu lesen, wenn man dies > z.B. mit dem HC05 bzw. HC08 Assembler der CC1 vergleicht. ;-) > Allerdings sagen andere wieder, 16Bit-Assembler sei schwerer, als 8Bit. ;-) > (Was ich, erhlich gesagt, nicht verstehe. ;-) ) > > MfG André H.
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB