OpenEdv-开源电子网

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

DS18B20实验,读取一个字节的子函数个人觉可以进行优化,并且也容易理解

[复制链接]

3

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2011-10-18
在线时间
2 小时
发表于 2011-10-28 17:37:45 | 显示全部楼层 |阅读模式
u8 DS18B20_Read_Byte(void)    // read one byte
{       
    u8 i,dat;
    dat=0;
// for (i=1;i<=8;i++)
// {
//        j=DS18B20_Read_Bit();
//        dat=(j<<7)|(dat>>1);
//    } 
    for (i = 0;i<8;i++)
   {
       if(DS18B20_Read_Bit())
       dat |= 1<<i;
    }  
      
    return dat;
}
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

18

主题

82

帖子

0

精华

初级会员

Rank: 2

积分
174
金钱
174
注册时间
2011-10-27
在线时间
0 小时
发表于 2011-10-28 20:22:34 | 显示全部楼层
回复【楼主位】raosibin:
---------------------------------
我看可以,楼主说的对,mark
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-10-28 21:51:49 | 显示全部楼层
是可以的
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

3

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2011-10-18
在线时间
2 小时
 楼主| 发表于 2011-10-29 09:22:29 | 显示全部楼层
同理写一个字节也可以修改为

//写一个字节到DS18B20
//dat:要写入的字节
void DS18B20_Write_Byte(u8 dat)    
 {            
    u8 j;
//    u8 testb;
 DS18B20_IO_OUT();//SET PA0 OUTPUT;
//    for (j=1;j<=8;j++)
// {
//        testb=dat&0x01;
//        dat=dat>>1;
//        if (testb)
    for  (j=0;j<8;j++)
  {
    if(dat & (1<<j))
        {
            DS18B20_DQ_OUT=0;// Write 1
            delay_us(2);                           
            DS18B20_DQ_OUT=1;
            delay_us(60);            
        }
        else
        {
            DS18B20_DQ_OUT=0;// Write 0
            delay_us(60);            
            DS18B20_DQ_OUT=1;
            delay_us(2);                         
        }
    }
}
回复 支持 反对

使用道具 举报

48

主题

376

帖子

0

精华

高级会员

Rank: 4

积分
621
金钱
621
注册时间
2011-3-18
在线时间
7 小时
发表于 2011-10-29 10:08:11 | 显示全部楼层
 very good
回复 支持 反对

使用道具 举报

14

主题

67

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
金钱
230
注册时间
2011-8-8
在线时间
15 小时
发表于 2011-11-3 11:40:44 | 显示全部楼层
呵呵,郭天祥的那个版本不错哦,稍微改一下就可以在STM32上移植了
上帝之所以创造指纹,是因为他想让人们知道:其实,每个人都有伤痕。?
回复 支持 反对

使用道具 举报

46

主题

1579

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1970
金钱
1970
注册时间
2011-7-17
在线时间
4 小时
发表于 2011-11-3 12:05:12 | 显示全部楼层
ds1820这个东西在STM32上变得容易多了,起码时序好控制。
Time?And?Relative?Dimension?In?Space.
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-10 13:24

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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