
|
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 Meine Homepage: http://www.henrik-reimers.de/control/ |
| Antwort schreiben |