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 Jacke, > > > Ist mein Problem so einfach oder so dumm, dass keiner antwortet? > > bitte ein Tip! > > Du brauchst nicht glauben, daß man immer innerhalb von 24h eine Antwort bekommt. > Das könnte man Verlangen, wenn mein Forum ein kostenpflichtiger Dienst wäre. > Jedoch helfen die Leute hier alle in Ihrer Freizeit aus freien Stücken. > > Darum sind solche "schnellen" Erinnerungspostings extrem unhöflich. > > Nun aber zu Deinem Problem: > > > > Mein Programm funzt soweit, dass es den Eingang ausließt, jedoch stoppt es nicht > > > den Programmablauf, sondern spilet sofort die Melodien - ich kann sie nicht mehr hören. > > Dann entferne die Melodien und ersetze diese durch einen einfach Piep. > > Aber nun Schrittweise zu Deinem Programm: > > > > <code> > > > // Initial LCD > > > lcdext.init(); > > > wait lcd.ready(); > > > lcdext.clear(); > > > lcdext.home(); > > > lcdext.goto(1,0); </code> > > Was ist das ???? > Warum prüfts Du hier auf <code>lcd.ready()</code> ?? > Das Modul lcd.c2 betrifft nur die vergossenen Units mit Mini-LCD, > die es noch bis Frühjahr 2004 gab. > Und Deine Initialisierung des externen LCDs ist auch etwas "umständlich" > Ein Aufruf von <code>lcdext.init()</code> reicht hier völlig. > Denn bei einem Init des externen Displays wird: > - dieses gelöscht > - der Cursor auf die Anfangspositin gesetzt (Zeile 1, Position 0) > > <code> > > > if ports.get(8) >= 0 > > > sleep zeit*1000; > > > else > > > { > > > > > > // CALLING > > > melody.good_bad_ugly(); > > > melody.pink_panther(); > > > > > > } </code> > > Was ist das für ein Vergleich ? > Warum prüft Du hier auf größer-gleich 0 ? > die Funktion ports.get() gibt entweder 0 (False) oder -1 (minus 1) (True) zurück. > Wenn also Port P1H.0 einen Highpegel hat, werden die Melodien abgespielt > Aber schöner würd es so aussehen: > <code> > if ports.get(8) > {// bei High-Pegel > melody.good_bad_ugly(); > melody.pink_panther(); > } > else // bei Low-Pegel > sleep x; > </code> > > Ach ja, und noch ein Hinweis zu sleep: > Es sind nur Werte von 0 bis 65535 zulässig. (-32768 bis -1 werden als 32768 bis 65535 interpretiert) > Sobald Deine Variable "zeit" einen Wert größer 65 hat, stimmt die Wartezeit nichtmehr. > > > > Wird der thread in einem neuen Modul definiert oder im selben? > > > > > > if ports.get(8) >= 0 > > > sleep zeit*1000; > > > else > > > run = beepen > > > > > > da gibt es bei beepen immer eine Fehlermeldung, ebal ob der thread beepen im selben Modul > > > oder in einen eigenen untergebracht ist. > > Das ist ein typischer Syntax error, der nur auftauchen kann, wenn man das Handbuch > vorher nicht liest. > Der Syntax zum starten von Threads lautet: > <code> run <Threadname>;</code> > Befindet sich der Thread in einem anderem Modul: > <code> run <Modulname>.<Threadname>;</code> > > > > Wenn ich also Port 8 mittels Sapnnung auf 0 setze bekomme ich <b> sofort </b>diese furchtbare Melodie. > > > Gedacht ist das ganze um über Port 8 das Programm zu stoppen, über Port 9 Pause - das aber erst > > > wenn ichs kann. > > Bist Du sicher, daß Du den richtigen Port gewählt hast ?? > Port 8 ist P1H.0 . > > > MfG André H.
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB