51单片机控制DS18B20温度传感器编程问题求助。
if(DQ)语句上面不是已经DQ=1了吗,为什么还要写这个if语句,DQ的值难道是动态变化的吗?DS18B20读取一个字节的这段程序语法我都能看懂,就是不知道这段程序硬件层面到底是什么意思,希望大家能给我解释一下。 DQ=1是设置成输入。 if(DQ)是判断DQ状态。 要看datasheet,DQ=0是通知DS18B20开始要开始读取,
DQ=1是放开让DS18B20开始回传
if(DQ)是读取回传bit DQ在上面肯定用sbit DQ = PX^X定义了。这个定义指的是DQ代表这个IO了,你在不考虑外围元件的情况下DQ=1确实会让你的IO为高电平,且你读DQ他也是等于1。但是如果外围把它拉低那么你读的时候就为0了。
理解这个了就看手册上的协议 Tliang 发表于 2017-9-2 16:07
DQ在上面肯定用sbit DQ = PX^X定义了。这个定义指的是DQ代表这个IO了,你在不考虑外围元件的情况下DQ=1确实 ...
明白了,谢谢你。{:smile:} 字体太大了
页:
[1]