1.DS18B20的时序操作
DS18B20参考连接图:
通讯方式:单总线模式通讯,DS18B20为从机;
1.1 复位
主机拉低18B20_DQ至少480us后,释放,将会被DS18B20视为复位脉冲,DS18B20将会对此复位脉冲回应,故:主机拉低18B20_DQ至少480us后延时15us进入接受模式等待DS18B20返回的数据。
//DS18B20复位
void DS18B20_Rest(void)
{
DS18B20_IO_OUT(); //设置主机信号线对应IO为推挽输出模式 GPIOB->CRL&=0XFFFFFF3F
DS18B20_DQ_OUT=0; //主机拉低数据线
delay_us(600); //延时600us
DS18B20_DQ_OUT=1; //拉高DQ信号线延时后接收数据
delay_us(15); //延时15us
}
1.2 检查
//DS18B20检查
u8 DS18B20_check(void)
{
u8 retry=0; //创建u8类型累加数据
DS18B20_IO_IN(); //设置主机数据线对应IO为浮空输入 GPIOB->CRL&=0XFFFFFF8F
while (DS18B20_DQ_IN&&retry<200)