
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Der Bug liegt vermutlich daran, dass niemand den IDE 2.0 Simulator an die 64 Userbytes der C-Control 2.0 angepasst hat Gruss Thomas > > 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 |