
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
> > > > > Hello Daniel, > > > > > Thank You Henrik, but I'm a bit old fashioned (and >60) and I do use traditional CCBasic 2.0 with a driver > > > developed by Die Hard (see below), modified recently by himself. I would rather be able to modify the driver for 11 bits precision. > > > > well, to change Die Hards sample is not very usefull. > > But anyway, if you want to stick to CC-Basic - I've written a sample for this Purpose in former times. Sorry the program ist written with explanations in German, hope you come come along. > > > > Here ist is ( for you the only important thing is the Subroutine Readtemp): > > > > > > 'Test für I2C mit Dallas Temperatursensor > > ' > > ' > > '---- Variablen definieren----------------------------------------- > > > > define value word > > define DEV1 byte > > define TEMP byte > > define DATA byte > > define temperatur byte > > define counter byte > > define slope byte > > define keyboard ad[7] > > > > > > #INIT > > > > print"#ON_CONFIG#"; 'UMGELEITET > > get TEMP 'den aktuellen Wert lesen > > put (TEMP or &B0011000) 'Bits setzten und zurück schreiben > > print"#OFF#"; 'Umleitung abschalten > > > > > > print"#ON_LCD#"; > > print"#INIT#"; > > print"1621 TEST";:pause 50 > > print"#CLR#";:print"#OFF#"; > > > > > > '--------- HAUPTPROGRAMM ----------------------------------------- > > > > > > #genau > > dev1 = 144 > > gosub READTEMP > > > > print "#ON_LCD#"; > > print "#L101#"; > > print value/10; ","; value mod 10; > > > > 'pause 50 > > print "#OFF"; > > > > goto genau > > > > '-------------------------------------------------------------------- > > #READTEMP > > > > print "#ON_IIC#"; > > > > print"#START#"; > > put DEV1 > > put &hEE 'temperaturmessung anstoßen > > print"#STOP#"; > > > > pause 10 > > > > print"#START#"; > > put DEV1 > > put &h22 'temperaturmessung stoppen > > print"#STOP#"; > > > > '--------------------------- > > > > print"#START#"; > > put DEV1 > > put &hAA 'temperaturmessung Lesekommando > > print"#STOP#"; > > > > > > print"#START#"; > > put DEV1+1 'lowtemperaturbyte auslesen > > get value > > temperatur = value > > 'get value 'dummy auslesung > > print"#STOP#"; > > '------------------------------ > > print"#START#"; > > put DEV1 > > put &hA8 'Counter Lesekommando > > print"#STOP#"; > > > > print"#START#"; > > put DEV1+1 'Counter auslesen > > get value > > counter = value > > print"#STOP#"; > > '----------------------------- > > > > print"#START#"; > > put DEV1 > > put &hA9 'Slope Lesekommando > > print"#STOP#"; > > > > > > print"#START#"; > > put DEV1+1 'Slope auslesen > > get value > > slope = value > > print"#STOP#"; > > > > print"#OFF#"; > > > > value = ((temperatur*100-25) + ((slope-counter)*100/slope*100)/100)/10 > > > > return > > > > > > Best regards > > Henrik > > Thanks Henrik, I'll test this in the coming week. Regards. Daniel > PS: German is not a problem but I did loose practice in writing. > Works fine Henrik, thanks for the help...Daniel...www.dufour.ch |
| Antwort schreiben |