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

看板LinuxDev作者 (皇帝陛下)時間4年前 (2020/02/21 10:10), 編輯推噓3(303)
留言6則, 3人參與, 4年前最新討論串1/1
各位先進大家好。 小弟最近為了計畫需要在樹莓派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 模組那裡收到任何資料) 因為小弟先前沒有使用過樹莓派或其他開發版的機 會,所以對問題的肇因不是很清楚,希望各位大大 可以指點迷津,謝謝大家! ----- Sent from JPTT on my iPhone -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 115.82.224.127 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/LinuxDev/M.1582251002.A.917.html

03/01 18:58, 4年前 , 1F
dmesg?
03/01 18:58, 1F

03/01 18:59, 4年前 , 2F
do not directly io_control device
03/01 18:59, 2F

03/01 19:09, 4年前 , 3F
03/01 19:09, 3F

03/01 19:10, 4年前 , 4F
03/01 19:10, 4F

04/02 02:35, 4年前 , 5F
i/o multiplexing
04/02 02:35, 5F

05/09 15:06, 4年前 , 6F
open後怎麼取資料? 用了不同thread了嗎?
05/09 15:06, 6F
文章代碼(AID): #1UJplwaN (LinuxDev)
文章代碼(AID): #1UJplwaN (LinuxDev)