![]() |
發布時間: 2019-12-12 17:21
正文摘要:簡單描述一下我遇到的問題:了解到MCP3421是一塊精度很高的AD,而且利用I2C通信。所以想用32做一個簡單表頭。 搭建AD部分電路,我用的是官方應用電路: (這里VDD用的是5V電源,stm32用的是3.3V,電源是分開 ... |
Y_G_G 發表于 2024-1-15 12:44 謝謝,不是應答的問題,已經解決了,是接收數據前需要先拉低數據位,或者說先清0 |
lksbbs 發表于 2024-1-13 21:03 每讀取完一個字節的數據,就要應答一次 讀取完所有的數據,就要發送一個不應答信號和一個停止信號,不然數據容易亂 要嚴格按照時序圖上的來操作 |
我是只讀了第一個字節,后面就讀不出了。。不知道什么原因,配置16位,18位,14位都是這樣。。應答程序應該沒問題, |
高手在民間![]() |
微兔程序 發表于 2020-9-24 11:33 支持的,官方手冊是2.7-5.5V! |
微兔程序 發表于 2020-9-24 11:33 |
mcp3421.png (44.98 KB, 下載次數: 92)
哎,只會匯編,咋辦? 板凳,瓜子,啤酒。 |
MCP3421不兼容3.3V呀,要把MCP3421電源換成3.3V |
代碼就懶得看了,實話說MCP3421我正好做過,你首先確定你的I2C通了沒有,上電有默認設置,你先讀一個字節看對不對,讀寫地址別搞錯了,D0 D1, |
Y_G_G 發表于 2019-12-14 11:06 好,那我先單獨做試試,實在是非常感謝 |
Host 發表于 2019-12-13 15:46 其實這IC沒有那么難操作的,就數據處理不太好處理,用C的話就不存在這個問題的 你可以先寫一個專門驗證的函數,功能也不要太多就,就寫入和讀取功能驗證而已,只要能正常寫入和讀取,器件就會有應答信號,其它的再慢慢的修改 |
還有大佬賜教嗎?小弟感激不盡 |
Y_G_G 發表于 2019-12-13 11:57 噢噢噢噢,麻煩了,非常感謝 |
每一批出廠的IC的IIC地址都是不一樣,用別人的代碼就不一定行,要看你的IC的絲印 |
Host 發表于 2019-12-13 10:45 那就不知道了,我是用匯編的,C語言是真心看不明白 |
Y_G_G 發表于 2019-12-13 08:19 我看了下我這個是默認絲印是000,那么問題應該不在這對吧? |
Y_G_G 發表于 2019-12-13 08:19 噢噢噢噢,十分謝謝,我以為器件出廠默認都是000 |
這個IC的IIC地址并不是固定的,是根據IC上絲印來決定的 每一批出廠的IC的IIC地址都是不一樣的,所以,你用別人的代碼就不一定行,要看你手頭上IC的絲印來決定的 ![]() |
突然想起來這個初始化程序好像也是在51論壇里面看到的,他們也確實能用啊! |