作者workat60474 (皇帝陛下)
看板LinuxDev
标题[问题] 树莓派3,无法同时透过uart和 i2C 接受
时间Fri Feb 21 10:10:00 2020
各位先进大家好。
小弟最近为了计画需要在树莓派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://webptt.com/cn.aspx?n=bbs/LinuxDev/M.1582251002.A.917.html
1F:→ kingofsdtw: dmesg? 03/01 18:58
2F:→ kingofsdtw: do not directly io_control device 03/01 18:59
5F:推 troylee: i/o multiplexing 04/02 02:35
6F:推 lpoijk: open後怎麽取资料? 用了不同thread了吗? 05/09 15:06