
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
BUG in IDE 2.0 Version 1.33 Kuerzlich habe ich meine C-Control 2.0 bekommen und wollte ein sehr altes Programm Portieren und erweitern Dabei traten im Simulator folgende Fehler auf 1.) eher harmlos, aber aergerlich: (in 2.0 muesste der Timer setzbar sein) Der Timer kann nicht gesetzt werden (timer=0) 2). Sehr aegerlich: (einige Stunden Sucherei, da man mit sowas nicht rechnet) Wird das angehaengte Programmfragment ausgefuehrt, so aendert sich im Betrieb die Variable CMD, ohne dass sie neu gesetzt wird, wird eine zusaeztliche Variable an Programmanfang hinzugefuegt, so passiert dies nicht mehr (vermutlich wird dann eine andere Variable veraendert) Reboots, und Neustarts der IDE halfen nichts. Der Fehler wird in do_proc_slave_tst sichtbar ! Gruss Thomas -----------Programmfragment: (demonstriert beide Fehler) -------------------------------------- ' demo fuer bugs an conrad define AUSTYP &H80 ' ' LCD Licht off= an define timer0 word define tidiff word define cmda ad[8] define cmda1 byte define mreset port[4] define LIGHT port[16] '-------------------------- define da1 da[1] define icount byte define MSTAT byte ' Motor Status define anlassen port[1] define betrieb port[2] define stoerung port[3] ' define togport port[4] ' define ueberwach port[5] ' ' define gasvent port[5] ' 'define start port[6] ' define schuetz port[7] ' define err_bit port[8] ' define temp ad[8] define bp1 byteport[1] define bp2 byteport[2] 'define errin byteport[2] ' Ueberwachungskanaele define frq freq2 define frqmax word define frqmin byte define tries byte define dummy byte define errin byteport[1] define startmask &H20 ' masks the start bit define errmask &H80 define errmask1 &HA0 ' masks errors without delay define delerrmask &H80 define delerrmask1 &HA0 ' masks startbit and all errors define start port[6] define readymask &HFF ' set wenn end of loop define startmask1 byte define var_errmask byte define ecount byte ' Anzahl aufeinanderfolgender Fehler, geloescht wenn letzte OK define stcount byte define waitnum byte define errsave byte define errsave1 byte ' define entprell bit[1] define ptime byte define goodcount byte ' define X1 word ' define X2 word ' define X3 word ' define X4 word ' define X5 word 'Kommunikation define C byte define STATE byte define ID byte define THISID 49 ' ID of THIS ("1") define NOERR 64 define CMD byte define CMD1 byte ' ##### could be LCD_PARAM define DATA byte define SEC0 byte define SEC1 byte define RET byte define ERR byte ' communication error - uebergabevar define ERR1 byte ' communication error startmask1=startmask print "START" goto do_proc_slave_tst #do_proc_slave_tst CMD=0 timer=0 ' print "CM: ";CMD;" ";cmda;" ";cmda1;" SEC ";second if (cmda > 10 AND cmda < 40) then CMD=48 ' (0) OFF if (cmda > 56 AND cmda < 88) then CMD=49 ' (1) ON if (cmda > 104 AND cmda < 136) then CMD=84 ' (T) Aufschalt if (cmda > 152 AND cmda < 184) then CMD=85 ' (U) Fehler loeschen pause 20 if abs(cmda1-cmda) > 5 then CMD=0 print "CM: ";CMD;" ";cmda;" ";cmda1;" TI ";timer cmda1=cmda goto do_proc_slave_tst |
| Antwort schreiben |