查看: 280|回复: 2
打印 上一主题 下一主题

有关DS18B20时序的疑问

[复制链接] qrcode

1

主题

2

帖子

7

积分

新手上路

Rank: 1

积分
7
楼主
跳转到指定楼层
发表于 2015-12-9 12:32 AM | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
下面这第二种写入为什么写不进去...
原来用汇编写的时候也是这样,为什么,进行了一次if判断就打断写时序了吗?

// 第一种写法,成功写入,k是循环变量
for (k = 0; k < 8; ++k) { if ((com>>k) & 0x01) { DQ = 0; _nop_(); _nop_(); DQ = 1; dely60us(); } else { DQ = 0; dely60us(); DQ = 1; _nop_(); _nop_(); } } // 第二种写法,失败,估计一个Bit也写不进去.. for (k = 0; k < 8; ++k) { DQ = 0; _nop_(); _nop_(); if ((com>>k) & 0x01) DQ = 1; dely60us(); _nop_(); _nop_(); }
回复

使用道具 举报

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

本版积分规则

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