裸機程序如下:
上圖中只揭示了運用層的讀寫函數(shù)怎么調(diào)用到adapter->algrithem->masterxfer()方法,以及為什么運用層的read調(diào)用的是核心層的i2cdev_read()。那么,問題來了,我怎么知道這個mpu6050對應(yīng)的是哪個adpter,在我的工程代碼中定義的i2c_deriver對象注冊前根本沒指明他的adapter? 還有,代碼中的哪個client,看樣子是從PRobe函數(shù)的參數(shù)中傳進來的,是怎么闖進來的?我注冊i2c_driver之前可沒有指定他哦,怎么確保這個client是正確的client呢?
答:這是一個復(fù)雜的過程,見思維導(dǎo)圖: 《i2c從設(shè)備mpu6050是怎么注冊進內(nèi)核的》實驗源碼: https://git.coding.net/xxgui1992/linuxDriver-I2c.git
新聞熱點
疑難解答