微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 怎么实现读取位?

怎么实现读取位?

时间:10-02 整理:3721RD 点击:
DQ = dat&0x01;这能实现一位一位读取数据吗?


DS18B20写一字节数据main

void write_OneChar(uchar dat)

{

   uchar i =0;

   for (i = 8; I > 0; i--)

   {

      DQ = 0;

      delay(5);

      DQ = dat & 0x01;

      delay(15);

      DQ = 1;

      dat >> = 1;

    }

   delay(4);

}能不能举个例子试试,谢谢


if(dat&0x01)DQ = 1;
else  DQ = 0;
我这个肯定行

还没学到。来学习一下。

那你解释一下怎么实现一位一位送数直到8位送完~行吧

for循环的最后一行代码dat >> = 1;
把dat右移一位。
if(dat&0x01)就是判断dat最低位是否为1。
整个过程就是判断dat最低位是否为1,以此决定DQ端发送1还是0。
8位数据从最低位开始发送。
这你要还看不懂,只能C语言书从头开始看了。

小编看popeye0451 的,实在不懂的化,先把基础在看看把

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top