- 论坛徽章:
- 1
|
linux i2c driver最近在學習, 使用的板子為全志A31s
該板上的 bus driver已經實現完畢, 因為還是初學者, 所以想要先測試它能否發出i2c訊號
A31s有4路i2c bus,
採用的測試方法為 按下按鈕, 讓指定的i2c bus送出訊號, 並用示波器測量
而現在也能夠讓指定的i2c bus有 "反應"
說 "反應" 是因為在測量該pin腳位時,
只會有 高電位->低電位...低電位->高電位 這樣的變化
中間都只是維持低電位, 不論SDA或SCL都是一樣, 感覺資料並沒有傳出去
想要請問一下板上有玩過i2c的前輩, 能點出問題出在哪嗎?
以下提供一些我的環境參數
1. 開發板還是裸機, i2c bus上還沒有接上其他設備 (目前想先單純的測試訊號發送)
2. 目前還沒有新增device driver
看網路上的教學大多都是要有device driver的驅動函式, 再來呼叫bus driver的函式
難道真的要有device driver才能夠讓i2c bus發出訊號嗎?
3. 使用的發出函式如下(linux kernal裡的)
int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num)
以上, 先謝過大家了 |
|