完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
背景:我在用树莓派做避障小车,GPIO口不够用了(三个超声波探头需要6个口,红外探头还需要若干口,再加上两个电机驱动需要的近12个口等等),网上查资料,发现PCF8574可以扩展GPIO口,因此做了验证。
我不是电子专业的,对这块不熟悉,所以花了两天时间研究I2C总线后,进展如下,但无法再前进了。特来求助各位大神 1.PCF8574和树莓派之间本质上是I2C总线关系,树莓派通过write_byte和read_byte一次性设置或读取8bit数据,分别代表pcf8574上扩展出来的8个pin(p0~p7)的高低电平,控制pin上接入的外部探头。 2.对于单次读或者写,上述模式够用了。对于写入后还要等待一会儿再读取反馈值的情况,可以使用pcf8574的INT端口,它在8个pin上的值发生变化时会通知树莓派,使得树莓派有机会响应变化事件并读取。 超声波探头工作原理:在TRIG口上给高电平,持续15微秒后,置为低电平。然后在ECHO口上持续检测,当ECHO口电平从低变为高时,意味着回波到了,此时开始计时,并持续检测ECHO电平,直至ECHO口变回低电平,计时结束。用时间差乘以声波速度就可以计算出来回的距离和。 我的问题是: 如何在I2C总线完成上述场景ECHO的这个状态变换过程的读取? 似乎I2C总线上没有上述一直检测直到状态重新变回低电平的能力?我在pcf8574试了,pin7(外接超声波探头ECHO口)收到回波时的确有高电平,但它不会自己变为低电平。 是不是U2C总线不支持这种持续状态及变化的检测啊? |
|
相关推荐
2个回答
|
|
我不是电子专业的,对总线实在是不熟悉,这个问题已经困扰我好几天了,希望有专家和大神们帮忙,不胜感激!
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
3974 浏览 0 评论
8518 浏览 0 评论
5943 浏览 0 评论
4089 浏览 1 评论
5180 浏览 0 评论
请问一下qspi mtsr引脚传输一次32bit后引脚不拉低怎么解决?
408浏览 2评论
646浏览 2评论
4746浏览 2评论
最近UJA1023开发遇到问题了,各位大神有谁知道可以替代这颗芯片的
582浏览 1评论
806浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 06:17 , Processed in 0.619709 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号