DS18B20,C语言编程问题,求解答,在线等!

voiddsreset(void)//DS18b20复位,初始化函数{uinti;ds=0;i=103;//延时最短480uswhile(i>0)i--;ds=1;//等... void dsreset(void) //DS18b20复位, 初始化函数
{
uint i;
ds=0;
i=103; //延时最短480us
while(i>0) i--;
ds=1; //等待16-60us,收到低电平一个约60-240us则复位成功
i=4;
while(i>0) i--;
}
这里面的i=103是什么意思 为什么这么久延时480us,还有ds=0是什么意思,ds=1又怎么理解
展开
 我来答
chenfenggang99
推荐于2016-04-08 · TA获得超过1850个赞
知道大有可为答主
回答量:1746
采纳率:75%
帮助的人:1713万
展开全部
void dsreset(void) //DS18b20复位, 初始化函数
{
uint i;
ds=0;
i=103; //延时最短480us //这里是计算机运行的时间 。。主要是下面while(I〉0)i--消耗时间
while(i>0) i--;
ds=1; //等待16-60us,收到低电平一个约60-240us则复位成功
i=4;
while(i>0) i--;
}

在 ds=0,与ds=1 之间添加时间消化目的是为了使硬件能检测的这个变化而已。。
追问
那i=103是怎么计算出来时480us的。
追答
这个根据具体晶振相关的。。看执行一条语句需要多少时间。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式