|
【硬件交流】
通过官方底板i2c接口所接出的第三方扩展板上的20地址总是显示UU
发表于 2022-8-2 11:03:27
浏览:5045
|
回复:5
打印
只看该作者
[复制链接]
楼主
问题描述及复现步骤:
本帖最后由 music1913 于 2022-8-2 15:38 编辑
因 rv1126 官方底板默认仅引出2个 gpio 接口,但我需要4个,通过早期的交流,我被告之可以通过编译内核,更改一组 uart 接口为 gpio 接口的方法来满足需求 ,详细讨论可见原帖子:https://dev.t-firefly.com/thread-122181-1-1.html
但发现通过此方法扩展出来的额外 gpio 口与底板原生的2个 gpio 物理距离过远,不利于接线。同时产品未来也可能需要更多的 gpio 口,仍可能满足不了。
因我对硬件了解非常有限,某第三方硬件设计方在听取了我的需求后,帮我设计了一块扩展板,扩展板上设计了多个 gpio 口,以供外部 gpio 传感器接入, 同时此扩展板接入官方底板的 i2c 接口并通讯,然后我方应用程序通过发送 i2c 通讯消息至官方底板,以间接来控制扩展板上的 gpio 口,并最终行使控制外部传感器的功能。
在接好扩展板与官方底板的 i2c 连线后,我运行 i2cdetect 以及其它几个命令得到以下结果:
- sudo i2cdetect -y -r 1
- 0 1 2 3 4 5 6 7 8 9 a b c d e f
- 00: -- -- -- -- -- -- -- -- -- -- -- -- --
- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
- 20: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
- 60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
- 70: -- -- -- -- -- -- -- 77
- lsmod
- Module Size Used by
- galcore 319488 0
- cat /etc/modules
- # /etc/modules: kernel modules to load at boot time.
- #
- # This file contains the names of kernel modules that should be loaded
- # at boot time, one per line. Lines beginning with "#" are ignored.
复制代码
应注意的是:其中 68,77 是扩展板上的加速度、气压计传感器(它俩本身也是 i2c 接口的),它俩均已经可正常工作,即通过我的应用程序都可以正常的去读数和操。
但可以见到,位于扩展板上 20x 地址上的 gpio 口,则一直显示 UU,通过大概了解,它代表了此地址被占用,所以我的应用程序还无法操作此 gpio 口,请问这个问题如何处理呢?
此为扩展板的一些参数:
|
-
-
none.zip
154 Bytes, 下载次数: 0, 下载积分: 灯泡 -1 , 经验 -1
|