看板 LinuxDev 關於我們 聯絡資訊
各位先進大家好。 小弟最近為了計畫需要在樹莓派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
kingofsdtw: dmesg? 03/01 18:58
kingofsdtw: do not directly io_control device 03/01 18:59
kingofsdtw: http://tiny.cc/xnepkz 03/01 19:09
kingofsdtw: http://tiny.cc/0qepkz 03/01 19:10
troylee: i/o multiplexing 04/02 02:35
lpoijk: open後怎麼取資料? 用了不同thread了嗎? 05/09 15:06