|
发表于 2013-8-29 11:56:18
|
显示全部楼层
本帖最后由 woody088 于 2013-8-29 15:35 编辑
看上圖DAC7571設備位址的規範:
1.紅色框框處為原廠預設的設備位址 6-BIT : 100110
2.然後再看藍色框框A0處為可以讓使用者自訂的末端設備位址位元:
假如您DAC7571的A0腳位接HIGH(電源+)那 A0=1;
反之假如您DAC7571的A0腳位接LOW(電源接地)那 A0=0
也就是容許一組I2C線上同時接2顆DAC7571來使用(一顆A0:接HIGH電源+,另一顆A0:接LOW電源接地)
3.最後一個是讀/寫位元(紫色框框)不用多說,
"0"代表要準備對DAC7571的暫存器進行寫入的動作
"1"代表要準備對DAC7571的暫存器進行讀取的動作
大部分I2C裝置都直接用規格書所提供的裝置位址就OK了!
但為什麼在Arduino中用DAC7571卻要將位址右移一位才可以,真的很奇怪!
有人用邏輯分析儀試過 Wire.beginTransmission() 這個指令到底在SDA上會發送出幾個bit嗎?
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|