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 Volker, > > Bitte schaue mal in den Modul-Header von hwcom.c2 . > Dort steht deutlich, daß noch sys0002.hex geladen werden muß. > Dieser Treiber wird u.a. für hwcom.receive() benötigt. > Dieser Treiber wir auch für die Module swcom.c2, mem.c2, sowie strx.c2 benötigt. > > Beachte bitte, daß die Beispiele aus dem Buch leider nicht mehr aktuell sind,# > sondern größtenteils auf die alten Module zugeschnitten sind. > Das ser2.c2 > <code>/************************* > Ser2.C2 > LCD-Terminal > Lesen über hwcom > **************************/ > > //------------ > thread main > //------------ > { > string s; > > hwcom.init (); > hwcom.setspeed (hwcom.SPEED_9600); > lcdext.init(); > lcdext.print("Terminal"); > loop > { > s = " "; > wait hwcom.rxd(); > hwcom.receive(s,16,1000); > lcdext.goto(1,0); > lcdext.print(s); > wait hwcom.rxd(); > lcdext.goto(0,0); > lcdext.print(s); > } > }</code> > müsste nun so aussehen: > <code>/************************* > Ser2.C2 > LCD-Terminal > Lesen über hwcom > **************************/ > > //------------ > thread main > //------------ > {byte len, s[16]; > hwcom.init (); > hwcom.setspeed (hwcom.SPEED_9600); > lcdext.init(); > lcdext.print("Terminal"); > loop > { > wait hwcom.rxd(); > len=hwcom.receive(s,16,1000); > lcdext.line(2); > lcdext.printlength(s,len); > wait hwcom.rxd(); > lcdext.delline(1); > lcdext.delline(2); > lcdext.line(1); > lcdext.printlength(s,len); > } > }</code> > > Ein weiters Beispiel für eine Stringeingabe wäre folgendes: > <code>thread main > {string s; > hwcom.init(); > hwcom.setspeed(hwcom.SPEED_9600); > lcdext.init(); > lcdwext.print("inputstr()-Test"); > loop > { > hwcom.inputstr(s,1); > lcdext.line(2); > lcdext.print(s); > wait hwcom.rxd(); > lcdext.delline(1) > lcdext.delline(2) > lcdext.line(1); > lcdext.print(s); > } > }</code> > > Hier muß aber nach jeder Eingabe im Terminal Enter gedrückt werden, damit > die Funktion inputstr() abgeschlossen wird. > > MfG André H. > > > > Hallo, > > > > ich möchte die Funktion hwcom.receive() verwenden um Antworten eines GSM-Modems zu empfangen. > > Dazu teste ich das Porgramms "Ser2.C2" von der CD-ROM des Buches Messen Steuern und Regeln > > mit C-Control2. Mit dabei ist ein gutes Terminalprogramm über das man gute Kontrolle über die > > Handshakeleitungen RTS/CTS und die weiteren hat. > > > > So nun endlich zum Problem: Es sieht so aus, als ob das Porgramm in der Funktion hwcom.receive() > > hängenbleibt! > > ich setze vor dem Aufruf der Funktion einen Ausgangsport an dem ich eine LED angeschlossen habe > > und nach dem die Funktion verlassen wird setze ich ihn zurück. > > Wenn ich nun über das Terminalprogramm ein Zeichen sende, leuchtet die LED geht aber nicht mehr aus. > > Somit komme ich aus der Funktion nicht mehr heraus! Aber wieso? > > Auf das Display wird auch nichts geschrieben. > > > > Ich hoffe es kann mir jemand von Euch weiterhelfen. Im voraus schon mal vielen Dank. > > > > Ich benutze das aktuelle OS V3.0 und das neuste Modul hwcom. > > > > Anbei der Quelltext: > > > > //------------ > > thread main > > //------------ > > { > > string s; > > > > hwcom.init (); > > hwcom.setspeed (hwcom.SPEED_9600); > > lcdext.init(); > > lcdext.print("Terminal"); > > loop > > { > > s = " "; > > wait hwcom.rxd(); > > ports.set(12,1); // LED setzen > > hwcom.receive(s,16,1000); // besagte Funktion > > sleep (100); > > ports.set(12,0); //LED rücksetzen -> wird nie gemacht! > > lcdext.goto(1,0); > > lcdext.print(s); > > wait hwcom.rxd(); > > lcdext.goto(0,0); > > lcdext.print(s); > > } > > } > >
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB