Red de conocimientos turísticos - Conocimientos sobre calendario chino - ¿Por qué mi DS18B20 sigue dando saltos? El siguiente es mi programa. ¡Por favor dame algún consejo! ! !

¿Por qué mi DS18B20 sigue dando saltos? El siguiente es mi programa. ¡Por favor dame algún consejo! ! !

Debido a que el IC de bus único necesita desactivar las interrupciones al leer y escribir datos; de lo contrario, interrumpirá su sincronización, por lo que saltará en un lío, lo que significa que debe insertar EA = 0, EA =1 en el medio.

EA=0;

ds1820rst();

ds1820wr(0xcc);//*Omitir lectura del número de secuencia*/

ds1820wr(0x44);//*Iniciar conversión de temperatura*/

//Puede agregar una oración while(!DQ) aquí para esperar a que se complete la conversión de temperatura.

EA=1;

EA=0;

ds1820rst();

ds1820wr(0xcc);//*saltar lectura número de serie*/

ds1820wr(0xbe);//*Leer temperatura*/

a=ds1820rd();

b=ds1820rd() ;

EA=1;

Acéptalo.