OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5104|回复: 3

c语言问题,求高人看看,

[复制链接]

170

主题

917

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1824
金钱
1824
注册时间
2013-4-13
在线时间
63 小时
发表于 2013-5-7 00:19:22 | 显示全部楼层 |阅读模式

下面是ds18b20温度传感器的复位函数,本人觉得做“//”标记的语句可以不要,可以吗?源程序是全部都有的,求高人讲解讲解!谢谢!

void DS18b20_reset(void)
{
 bit flag=1;

// while (flag)
// {
  while (flag)
   {
    DQ = 1;
   delay(1);
    DQ = 0;
    delay(50); // 550us
    DQ = 1;
    delay(6);  // 66us
    flag = DQ;
     }
  delay(45);    //延时500us
 // flag = ~DQ;
// }
 DQ=1;
}

 

手艺人要内外兼修。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165353
金钱
165353
注册时间
2010-12-1
在线时间
2108 小时
发表于 2013-5-7 10:03:13 | 显示全部楼层
回复【楼主位】wangyan915205:
---------------------------------
18b20的复位没那么复杂吧。看我的代码:
//复位DS18B20
void DS18B20_Rst(void)    
{                 
DS18B20_IO_OUT(); //SET G11 OUTPUT
    DS18B20_DQ_OUT=0; //拉低DQ
    delay_us(750);    //拉低750us
    DS18B20_DQ_OUT=1; //DQ=1 
delay_us(15);     //15US
}
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

170

主题

917

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1824
金钱
1824
注册时间
2013-4-13
在线时间
63 小时
 楼主| 发表于 2013-5-7 16:47:34 | 显示全部楼层
谢谢
回复 支持 反对

使用道具 举报

2

主题

255

帖子

0

精华

高级会员

Rank: 4

积分
821
金钱
821
注册时间
2013-6-5
在线时间
141 小时
发表于 2013-6-7 03:16:21 | 显示全部楼层
楼主原来的代码,只是想留一个成功的标记而已
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 11:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表