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 !  

> Sorry, war noch nicht fertig, unten geht es weiter!!!! > > Hi, > > > > folgende Situation: ich nutze eine externe Porterweiterung auf Schieberegister Basis. Dazu habe ich Funktionen geschrieben, die Ports einlesen usw. Da ich meine CC2 für unterschiedliche Dinge nutzen werde, dachte ich unterschiedliche Module und threads zu verwenden. Damit diese die gleichen Ein- und Augaberoutinen für die externe Schaltung nutzen können, ohnen durcheinander arbeiten zu können, wollte ich meine Routinen entsprechend mit captuire und release versehen. Dabei habe ich folgendes Problem: > > > > 1.: Wenn ich in einer Funktion zum debuggen über ein Terminal verwende wie: > > > > function print (string s,int ret) { > > capture; > > hwcom.send(s, str.length(s)); > > if ret>0 hwcom.put(10); > > if ret>0 hwcom.put(13); > > sleep 50; > > release;} > > > > bleibt die CC2 hängen, d.h. das Programm wird nicht weiter ausgeführt. > > LIEGT DAS GGF DARAN, DASS DIE HWCOM ROUTINEN AUCH CAPTURE VERWENDEN ??? > Dazu fehlt mir irgendwie die logische Erklärung. > > 2.: Wenn ich dann zur Steuerung der Schaltung die folgenden zwei Routinen einsetze: > > function SetExtPort(byte Modul, byte Port, byte Value){ > capture; > if Modul<16 { > ShiftDataByte (16*Modul+Port+Value*8); > ports.set(Shift_WD,0); > ports.set(Shift_WD,1);} > else {ports.set(Port,Value);} > release;} > > function init() { > byte Modul,Port; > capture; > // Ports der Unit initialisieren > ports.set(Shift_Clock,0); > ports.set(Shift_WD,1); > // alle Ausgänge ausschalten > for Modul=0 ... 5 { > for Port=0 ... 7 { > SetExtPort(Modul,Port,0);}} > release;} > > bleibt das Programm ebenfalls stehen. Nur wenn ich in beiden Routinen die capture und release Anweisungen entferne läuft alles reibungslos. Das ist natürlich nicht in meinem Sinne, denn dann schließe ich einen Zugriff aus unterschiedlichen thread ja nicht mehr aus. Gem. Handbuch soll man ja für Funktionen auch diese Form der Befehle verwenden. Die Funktionen aus ports sind mit inline definiert und haben zumindest keine erkennbaren caputre oder release Befehle. > HAT EINER EINE BEGRÜNDUNG UND GGF EINEN TIP FÜR MICH? > > Danke für jede Hilfe!!!!! > Klaus > >
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB