[問題] 樹莓派3,無法同時透過uart和 i2C 接受

作者: workat60474 (皇帝陛下)   2020-02-21 10:10:00
各位先進大家好。
小弟最近為了計畫需要在樹莓派3上透過gps 模
組-Neo6m,以及三軸加速度計adxl345 收集gps資
料和各方向的加速度。
GPS 模組 neo6m 是透過 uart 收資料,而三軸加速
度計是透過 i2C 接受資料。
Gps 模組是透過
uart_stream = open(“/dev/ttyS0”, O_RDWR | O_NOCTTY | O_NDELAY) 打開.
而三軸加速度計是透過
fd = open(“/dev/i2c-1”, ORDWR) 打開,並且設定
ioctl(fd,I2C_SLAVE,0x53)
之前在針對這兩個感測器做個別做測試的時候並沒
有遇到問題,資料的讀取都一切正常,不過昨天我
將這兩個模組整合同一份程式碼中時發現只能收到
其中一者的資料(經過測試發現如果最後打開的
是gps 模組那就只會收到 gps 模組,而加速度計
不會收到任何資料,並在試圖讀取加速度計資料時
造成程式停滯,反過來若最後打開 3軸加速度計則
不會從 gps 模組那裡收到任何資料)
因為小弟先前沒有使用過樹莓派或其他開發版的機
會,所以對問題的肇因不是很清楚,希望各位大大
可以指點迷津,謝謝大家!
作者: kingofsdtw (不能閒下來!!)   2020-03-01 18:58:00
dmesg?do not directly io_control devicehttp://tiny.cc/xnepkzhttp://tiny.cc/0qepkz
作者: troylee (troylee)   2020-04-02 02:35:00
i/o multiplexing
作者: lpoijk (↗ 老 爺 ↙)   2020-05-09 15:06:00
open後怎麼取資料? 用了不同thread了嗎?

Links booklink

Contact Us: admin [ a t ] ucptt.com