完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我用PIC16LF18325通过I2C与SI7006湿度传感器通话。除了获得湿度测量值之外,我能够有效地与传感器通信。有一种叫做时钟伸展的东西,我不知道我的I2C在湿度传感器之前在哪里完成传输。数据已准备就绪。您可以在下面的链接18、20和21页上找到关于这方面的信息:http://www.silabs.com/Sup...calDocs/Si7006-A20.pdfI使用Mplab代码配置器生成的I2C代码来做到这一点,以下是我的代码:uint8_t readBuffer[2];uint8_t writeBuffer[2];uint8_t status=0;writeBuffer[0]=Si_Rel_Humidity;I2C2_MasterWrite(writeBuffer,1,Si_Address,&status);_._ms(1);I2C2_MasterRead(readBuffer,2,Si_Address,&status);知道如何进行时钟拉伸以读取湿度传感器数据吗?
|
|
相关推荐
4个回答
|
|
是的,我不确定哪一个I2C主控硬件将正确地实现时钟拉伸。SMBus兼容吗?在这种情况下,我会用软件I2C…
|
|
|
|
是的,我不确定哪一个I2C主控硬件将正确地实现时钟拉伸。SMBus兼容吗?在这种情况下,我会用软件I2C…
|
|
|
|
Si7006上的读取操作进行:Start|Slave Addr|W-bit|Ack|Strt Re|Slave Addr|R-bit|Ack|Clock Stretch|MS Byte|Ack|LS Byte|NA PI读取了存储在Si7006上的温度,但是由于某种原因,当您告诉它测量并随后读取PIC时,它停止时钟NG,看起来像是超时了。如果它有帮助,我可以向您展示数据/ CLK行的范围捕获。
|
|
|
|
时钟拉伸是基本I2C协议支持的一种技巧。在定时位之前,主控器必须等待时钟上升到1阈值以上。把钟放低,它等待着。SMBus使用这种行为。基本I2C不认为它是一个特性,因为I2C没有超时,HW将永远等待。SMBus需要超时。这应该比马克斯将要占用的超时10%-20%。OP将需要决定他们是否愿意等待或者在一段时间后回来。
|
|
|
|
只有小组成员才能发言,加入小组>>
5141 浏览 9 评论
1989 浏览 8 评论
1917 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3159 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2215 浏览 5 评论
708浏览 1评论
598浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
481浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
609浏览 0评论
508浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-9 07:17 , Processed in 1.164352 second(s), Total 55, Slave 48 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号