关于DS18b20的几个问题。。。

2019-07-21 02:05发布

1,Ds18b20是单总线,感觉是有输出和有输入的,io口应该用什么模式? 2,io口主从机拉高拉低电平,我能用GPIO_ReadInputDataBit()读取io口的高低电平吗?我看到还有一个GPIO_ReadOutputDataBit(),用哪一个好? 3,看了原子哥的例程,不是很明白这一段 #define DS18B20_IO_IN() {GPIOG->CRH&=0XFFFF0FFF;GPIOG->CRH|=8<<12;} #define DS18B20_IO_OUT() {GPIOG->CRH&=0XFFFF0FFF;GPIOG->CRH|=3<<12;} ////IO操作函数 #define DS18B20_DQ_OUT PGout(11) //数据端口 PG11 #define DS18B20_DQ_IN PGin(11) //数据端口 PG11 后面看原子哥直接就用DS18b20_DQ_OUT来赋值了,跟51的一样。。。不是很明白。 把之前51的18b20代码移植到stm32上面不能用。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
正点原子
1楼-- · 2019-07-21 05:22
请直接用我们例程即可。
w417074951
2楼-- · 2019-07-21 07:26
意思你在51上写通过?那就没什么问题了呀,时序对上,就可以通,都一样,
逆袭
3楼-- · 2019-07-21 11:53
 精彩回答 2  元偷偷看……
逆袭
4楼-- · 2019-07-21 12:58
 精彩回答 2  元偷偷看……
逆袭
5楼-- · 2019-07-21 13:05
io口不一样啊,直接改成pb5好像不行啊
逆袭
6楼-- · 2019-07-21 15:14
io口不一样啊,直接改成pb5好像不行啊

一周热门 更多>