i2c

    3熱度

    2回答

    我正在嘗試開發嵌入式主板的驅動程序。該驅動程序應該打開一個接口,並使用i2c與2個設備進行通信。司機將充當主人。 我似乎無法理解i2c_device_id數組和i2c_add_driver函數是如何工作的。我在內核源碼中閱讀文檔,但它不會幫助我在多個從屬客戶端上。 我必須有兩個獨立的探頭功能嗎? 我需要撥打i2c_add_driver兩次嗎? 如果不是我將如何能夠保存兩個不同的客戶端能夠發送不同的

    0熱度

    1回答

    我正在使用MPLABX 3.10,並使用MSSPI2C主中斷功能生成I2C主接口。我能夠產生I2C寫入事件,在振盪器上看起來沒問題。然而,閱讀失敗。當我查看範圍輸出時,我可以清楚地看到生成了啓動條件,並且設置了讀取位的設備ID被生成並確認。接下來,我期待看到寄存器地址出去,但是我看到所有的零。我是否錯誤地使用生成的代碼?我需要做設備寫入,然後讀取設備嗎?我試圖減少代碼以下: void I2C_In

    -5熱度

    1回答

    所以我有一個瘋狂的想法,試圖跨兩個微控制器分離I2C控制器實現。也就是說,一個uC控制SDA,一個uC控制SCL,並在總線,主機或從機上作爲一個I2C器件進行通信。我並不想在這裏進行基本的I2C通信,我希望兩個物理上獨立的控制器一起作爲一個I2C接口工作。 任何人在這裏都會做這樣的事情誰可以建議我會怎麼做呢? 我假設我的獨立SDA和SCL控制器對於初學者來說將不得不被打斷,但我不確定其餘的。你會使

    0熱度

    1回答

    我使用帶有i2c庫的HMC5883L。我使用這個代碼來獲取它正面臨 from i2clibraries import i2c_hmc5883l hmc5883l = i2c_hmc5883l.i2c_hmc5883l(1) hmc5883l.setContinuousMode() hmc5883l.setDeclination(0,6) print(hmc5883l) 方向但這打印所

    0熱度

    1回答

    我試圖通過串行通信連接。但我有一個問題。我認爲AT命令也可以通過I2C通信給出。但是我在某些時候被卡住了。任何人都可以幫助一步一步的指示來建立連接?謝謝

    0熱度

    1回答

    Please clarify above question that i was being asked in interview in one company. And How slave device will communicate to master if at the same time slave device receives request from two or multip

    0熱度

    1回答

    我正在開發一個項目,我需要使用GPIO切換引腳的高低,並從I2C外設收集傳感器數據。我有每個組件單獨工作,使用開放(...,...)和ioctl(...,...,...)使用wiringPi和I2C的GPIO。另外他們工作很好。當我將它們一起運行時,I2C總線處於i2cdetect顯示所有可能地址值的狀態,並且在重新啓動之前我無法再與I2C設備通信。有沒有人看過這個或有人知道我能做些什麼來解決這個

    1熱度

    1回答

    我是ARM新手,嘗試在STM32F103x上創建從設備。另外我需要串行線調試和FreeRTOS任務。 我通過STM32CubeMX創建了一個新項目。在NVIC配置中有「使用FreeRTOS功能」的選項。但是我沒有找到任何有關如何使用它的文檔,參考資料或演示。 編輯1:所以我做出這樣的方式,現在: #include <string.h> #define MASTER_REQ_READ 0x44

    0熱度

    1回答

    我正嘗試從Windows IoT Core上的博世BME280讀取數據。我能夠重置芯片,讀取芯片ID,獲取修整值並讀取溫度/壓力/嗡嗡聲值(突發模式)。但是,補償值不正確。這裏是我現在得到的價值觀。我希望有人可以分享一些我可以用來比較的價值觀。將在後發佈代碼。謝謝。 DT1 0x196e,DT2 0x7e66,DT3 0x3200 DP1 0xc78f,DP2 0xded5,DP3 0xd00b,

    2熱度

    2回答

    我試圖得到一個基本的握手。以下是C8051F120的SMBus(系統管理總線)的ISR。我試圖在其上實現一個I2C器件(ads1115 7addr 0x48對於那些很好奇的人)。請注意,這主要是F120的硅實驗室給出的例子。 void SMBUS_ISR (void) interrupt 7 { bit FAIL = 0; // Used by the ISR to flag