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 André! > > Ich vermute, dass dieses Problem bei dir am besten aufgehoben ist, deswegen wende ich mich gleich > an dich. > > Ich habe die neuen Versionen der diversen Module, die du für das OS V3 vorbereitet hast, herunter > geladen und installiert. Ich habe das main-Makro im DL-Tool laufen lassen, damit die beiden Hex- > Dateien geladen werden. Mein Programm ist erfolgreich neu übersetzt und übertragen worden. Somit > denke ich, dass alles Erforderliche getan seinmüsste, um deine Updates wirksam werden zu lassen. > Die erste Anweisung des main-Threads ist ein stports.init(). Von dort kommt die Kontrolle nicht mehr > an den Thread zurück. > > Habe ich etwas übersehen, oder bin ich auf einen Bug gestoßen? > > Falls es etwas hilft, hier der Source (die zwei Pfeifer am Anfang dienen nur Debug-Zwecken, um zu > sehen, wie weit ich komme): > > ---------------------------------------------------------------------------------------------------------- > main.c2: > > thread main { > > byte key; > > plm.beep(plm.TONE_A); > sleep 200; > plm.beep(plm.TONE_OFF); > sleep 200; > plm.beep(plm.TONE_A); > sleep 200; > plm.beep(plm.TONE_OFF); > sleep 200; > <b>stports.init(); // <-- hier geht's los (aber nicht mehr weiter...)</b> > plm.beep(plm.TONE_A); > sleep 200; > plm.beep(plm.TONE_OFF); > lcdext.init(); > lcdext.clear(); > > plm.beep(plm.TONE_A); > sleep 100; > plm.beep(plm.TONE_OFF); > if (!pcfad.init(0,-1,0b00)) { > lcdext.line(1); > lcdext.print("Fehler Init ADM0"); > lcdext.line(2); > lcdext.print("ENTER drücken"); > key=stkeyb.get(); > while key!=stkeyb.ENTER { > if key!=255 { > plm.beep(plm.TONE_A); > sleep 500; > plm.beep(plm.TONE_OFF); > } > key=stkeyb.get(); > } > plm.beep(plm.TONE_A); > sleep 20; > plm.beep(plm.TONE_OFF); > } > > globals.display_mode=1; > > plm.beep(plm.TONE_A); > sleep 50; > plm.beep(plm.TONE_OFF); > keyboard.enter_date_time(); > > plm.beep(plm.TONE_A); > sleep 50; > plm.beep(plm.TONE_OFF); > run display.display; > > plm.beep(plm.TONE_A); > sleep 50; > plm.beep(plm.TONE_OFF); > run keyboard.keyboard; > > plm.beep(plm.TONE_A); > sleep 50; > plm.beep(plm.TONE_OFF); > run measurements.measurements; > > halt; > > } > > -------------------------------------------------------------------------------------------------------------- > globals.c2: > > byte display_mode; > > const measure_points=8; > byte measure_point; > float temperature[measure_points]; > float humidity[measure_points]; > > -------------------------------------------------------------------------------------------------------------- > keyboard.c2: > > function enter_date_time() { > > int day, month, year, hour, minute, second; > byte key; > > lcdext.clear(); > lcdext.line(2); > lcdext.print("Fertig: ENTER"); > > do { > lcdext.line(1); > lcdext.delline(1); > lcdext.print("Jahr: "); > plm.beep(plm.TONE_A); > sleep 200; > plm.beep(plm.TONE_OFF); > year=stkeyb.input(4, -9999, 60000); > } while year<2000 or year>2020; > > do { > lcdext.line(1); > lcdext.delline(1); > lcdext.print("Monat: "); > plm.beep(plm.TONE_A); > sleep 200; > plm.beep(plm.TONE_OFF); > month=stkeyb.input(2, -9999, 60000); > } while month<1 or month>12; > > do { > lcdext.line(1); > lcdext.delline(1); > lcdext.print("Tag: "); > plm.beep(plm.TONE_A); > sleep 200; > plm.beep(plm.TONE_OFF); > day=stkeyb.input(2, -9999, 60000); > } while day<1 or > (month==1 or month==3 or month==5 or month==7 or month==8 or month==10 or month==12) and day>31 or > (month==4 or month==6 or month==9 or month==11) and day > 30 or > month==2 and (year%4==0 and day>29 or day>28); > > do { > lcdext.line(1); > lcdext.delline(1); > lcdext.print("Stunden: "); > plm.beep(plm.TONE_A); > sleep 200; > plm.beep(plm.TONE_OFF); > hour=stkeyb.input(2, -9999, 60000); > } while month<1 and month>12; > > do { > lcdext.line(1); > lcdext.delline(1); > lcdext.print("Minuten: "); > plm.beep(plm.TONE_A); > sleep 200; > plm.beep(plm.TONE_OFF); > minute=stkeyb.input(2, -9999, 60000); > } while month<1 and month>12; > > do { > lcdext.line(1); > lcdext.delline(1); > lcdext.print("Sekunden: "); > plm.beep(plm.TONE_A); > sleep 200; > plm.beep(plm.TONE_OFF); > second=stkeyb.input(2, -9999, 60000); > } while month<1 and month>12; > > do { > lcdext.clear(); > lcdext.line(1); > lcdext.print("ENTER für Start"); > plm.beep(plm.TONE_A); > sleep 200; > plm.beep(plm.TONE_OFF); > key=stkeyb.get(); > while key==255 > key=stkeyb.get(); > } while key!=stkeyb.ENTER; > > system.settime(hour,minute,second); > system.setdate(year,month,day); > > } > > thread keyboard { > > byte key; > > key=stkeyb.get(); > if key!=255 { > plm.beep(plm.TONE_A); > sleep 20; > plm.beep(plm.TONE_OFF); > } > > if key==0 { > globals.display_mode=key; > } > else if key==1 { > globals.display_mode=key; > } > else if key==2 { > globals.display_mode=key; > } > else if key==3 { > globals.display_mode=key; > } > else if key==4 { > globals.display_mode=key; > } > else if key==5 { > globals.display_mode=key; > } > else if key==6 { > globals.display_mode=key; > } > else if key==7 { > globals.display_mode=key; > } > else if key==8 { > globals.display_mode=key; > } > else if key==9 { > globals.display_mode=key; > } > else if key==stkeyb.F1 { > enter_date_time(); > } > else if key==stkeyb.F2 { > lcdext.clear(); > lcdext.line(1); > lcdext.print("Messpunkt: "); > globals.measure_point=stkeyb.input(3, 1, 60000); > if globals.measure_point>=1 and globals.measure_point<=globals.measure_points > globals.measure_point=globals.measure_point-1; > else > globals.measure_point=0; > } > else if key==stkeyb.F3 { > } > else if key==stkeyb.CLEAR { > } > else if key==stkeyb.ENTER { > } > > } > > --------------------------------------------------------------------------------------------------------------------- > display.c2: > > byte old_display_mode; > > thread display { > > if globals.display_mode!=old_display_mode { > lcdext.clear(); > old_display_mode=globals.display_mode; > } > > if globals.display_mode==1 { // Datum und Zeit > lcdext.line(1); > lcdext.date(1); > lcdext.line(2); > lcdext.time(1); > lcdext.fill(' ', 3); > lcdext.zahl5(system.dcferr()); > sleep 1000; > } > else if globals.display_mode==2 { // Temperatur und Feuchte > lcdext.line(1); > lcdext.print("Temp.: "); > lcdext.zahl4n1(globals.temperature[globals.measure_point]); > lcdext.print("°C"); > lcdext.line(2); > lcdext.print("Feuchte: "); > lcdext.zahl4n1(globals.humidity[globals.measure_point]); > lcdext.print("%"); > } > > } > > ------------------------------------------------------------------------------------------------------------------------ > measurements.c2: > > thread measurements { > > globals.temperature[0]=20.0; > globals.humidity[0]=60.0; > > } > > -------------------------------------------------------------------------------------------------------------------------- > > Vielen Dank im Voraus für deine Hilfe! > > Beste Grüße, > Dietmar.
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB