[問題] 兩個不同的I2C Chip 搶佔Bus 資源
假設有兩個行程都不斷存取兩個i2c driver
但真實的i2c bus就只有一個, 也就是第一個driver在存取i2c slave devices時
第二個driver一定是無法存取的 (應該是有spin lock)
但我的疑問是來自於, 這兩個driver似乎常常打架, 協調的很差
i2c_smbus_read_byte_data時常傳回<0的錯誤值
雖然我可以藉由判別傳回值, 來確保資料正確
但實測的結果是, 讀取速率慢非常非常多(時常在打架)
原本兩個driver在讀取時, delay各為20ms (也就是每秒約有50筆資料輸出)
現在變成每秒2~3筆資料輸出 (非常容易碰撞), 想請問有甚麼好的解法
(兩個driver都是自己寫的)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.43.54.146
推
09/15 10:39, , 1F
09/15 10:39, 1F
推
09/15 23:31, , 2F
09/15 23:31, 2F
→
09/16 10:36, , 3F
09/16 10:36, 3F
→
09/16 10:36, , 4F
09/16 10:36, 4F
→
09/16 23:04, , 5F
09/16 23:04, 5F
→
09/16 23:05, , 6F
09/16 23:05, 6F
推
09/17 01:13, , 7F
09/17 01:13, 7F
→
09/17 01:14, , 8F
09/17 01:14, 8F
→
09/18 06:24, , 9F
09/18 06:24, 9F
→
09/18 06:25, , 10F
09/18 06:25, 10F
→
09/18 06:25, , 11F
09/18 06:25, 11F
推
09/18 11:19, , 12F
09/18 11:19, 12F
→
09/19 11:50, , 13F
09/19 11:50, 13F
→
09/25 21:59, , 14F
09/25 21:59, 14F
推
09/26 23:27, , 15F
09/26 23:27, 15F
→
09/27 21:24, , 16F
09/27 21:24, 16F
→
09/27 21:25, , 17F
09/27 21:25, 17F
推
10/02 19:41, , 18F
10/02 19:41, 18F
→
10/06 00:15, , 19F
10/06 00:15, 19F