找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

帖子
查看: 3006|回復(fù): 9
打印 上一主題 下一主題
收起左側(cè)

求大佬幫忙一下關(guān)于i2c總線同時(shí)驅(qū)動(dòng)2個(gè)器件的問題

[復(fù)制鏈接]
回帖獎(jiǎng)勵(lì) 1 黑幣 回復(fù)本帖可獲得 1 黑幣獎(jiǎng)勵(lì)! 每人限 1 次
跳轉(zhuǎn)到指定樓層
樓主
ID:451968 發(fā)表于 2019-10-31 17:04 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
請(qǐng)問下,我用stm32同時(shí)用軟件i2c來通訊mpu6050和oled,然后單獨(dú)用的時(shí)候是可以的。合并在一起2者都不能用的,請(qǐng)問下這該怎么解決,是和中斷或者其他有關(guān)嗎
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:105364 發(fā)表于 2019-10-31 18:14 | 只看該作者
2 個(gè)器件的I2C地址不一樣沒?
回復(fù)

使用道具 舉報(bào)

板凳
ID:451968 發(fā)表于 2019-11-1 00:20 | 只看該作者
47okey 發(fā)表于 2019-10-31 18:14
2 個(gè)器件的I2C地址不一樣沒?

不一樣的,現(xiàn)在我想知道是不是因?yàn)閛led顯示的時(shí)候mpu產(chǎn)生中斷導(dǎo)致oled還沒運(yùn)行完就跑去中斷那邊了
回復(fù)

使用道具 舉報(bào)

地板
ID:616759 發(fā)表于 2019-11-1 10:32 | 只看該作者
你好像和我遇到了同樣的問題,不過這個(gè)月出差出掉了,一直沒弄,OLED直接顯示時(shí)卡死,我準(zhǔn)備這周(可能沒時(shí)間,要走親戚)或者下周弄一下這個(gè),到時(shí)如果解決了再回來跟你說
回復(fù)

使用道具 舉報(bào)

5#
ID:451968 發(fā)表于 2019-11-1 11:24 | 只看該作者
bai_yun_123 發(fā)表于 2019-11-1 10:32
你好像和我遇到了同樣的問題,不過這個(gè)月出差出掉了,一直沒弄,OLED直接顯示時(shí)卡死,我準(zhǔn)備這周(可能沒時(shí) ...

對(duì),就是一直在那個(gè)oled中的應(yīng)答出現(xiàn)問題,還請(qǐng)多多指教
回復(fù)

使用道具 舉報(bào)

6#
ID:633767 發(fā)表于 2019-11-1 12:00 | 只看該作者
設(shè)置兩個(gè)器件地址不一樣或者多接一個(gè)時(shí)鐘,兩個(gè)器件分別用不同的CLK驅(qū)動(dòng)
回復(fù)

使用道具 舉報(bào)

7#
ID:633773 發(fā)表于 2019-11-1 12:06 | 只看該作者
中斷分別控制
回復(fù)

使用道具 舉報(bào)

8#
ID:451968 發(fā)表于 2019-11-1 13:46 | 只看該作者
小柿子 發(fā)表于 2019-11-1 12:00
設(shè)置兩個(gè)器件地址不一樣或者多接一個(gè)時(shí)鐘,兩個(gè)器件分別用不同的CLK驅(qū)動(dòng)

不是地址問題,我找到了原因;我用的是模擬i2c,因?yàn)閙pu6050中會(huì)產(chǎn)生一個(gè)中斷,而oled顯示的時(shí)候被這個(gè)中斷所影響,導(dǎo)致了oled顯示不完全,求大佬有沒有好的處理關(guān)于I2C在通訊過程中產(chǎn)生中斷得怎么應(yīng)付?
回復(fù)

使用道具 舉報(bào)

9#
ID:633728 發(fā)表于 2019-11-1 13:59 | 只看該作者
我有類似的設(shè)計(jì)經(jīng)驗(yàn),驅(qū)動(dòng)OLED,然后同時(shí)控制I2C或者SPI的其他設(shè)備,現(xiàn)在能夠穩(wěn)定的工作了。分開調(diào)試,然后合并思路沒問題。分開可以用,表示模塊工作正常了。合并不能工作,傾向于認(rèn)為還是有干擾。我的方法是,合并后的代碼,可以分塊注釋代碼,先注釋大段的代碼,看看到底是那里的影響,然后在調(diào)試。這個(gè)方法一樣都可以調(diào)試OK
回復(fù)

使用道具 舉報(bào)

10#
ID:451968 發(fā)表于 2019-11-1 19:55 | 只看該作者
QIXINCCY 發(fā)表于 2019-11-1 13:59
我有類似的設(shè)計(jì)經(jīng)驗(yàn),驅(qū)動(dòng)OLED,然后同時(shí)控制I2C或者SPI的其他設(shè)備,現(xiàn)在能夠穩(wěn)定的工作了。分開調(diào)試,然后 ...

我就是按照你這種方法去注釋掉一些代碼,發(fā)現(xiàn)是mpu6050產(chǎn)生的中斷 導(dǎo)致這樣子的,然后我想問一下關(guān)于I2C通訊過程中有中斷給打斷得怎么辦
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表