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.