完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,我试图在PIC24FJ32GA002上实现作为主控的I2C通信。我使用引脚6(SDA2)和引脚7(SCL2)上的第二个I2C。我以以下方式初始化了I2C模块:然后我试图发送执行以下功能的开始条件:但是如果我遵守I2C2CONbits。恩,这个比特永远不会被设置!!!!同样地,我看不到示波器的变化,导致数据和时钟线都处于空闲模式。I2C2STATBES.BCL被设置为检测到总线冲突。我观察到,当我尝试设置SEN位时,即使只使用主机,总线冲突也会发生。OLIORT还是解决它?谢谢你的支持。
|
|
相关推荐
6个回答
|
|
你把这些线上的上拉电阻连接起来了吗?I2C是低电平,所以高信号输出意味着它切换到三态。此时,线路驱动阻抗变高。所以在线路上需要一个上拉电阻使它们变高。我使用4.7K,但这取决于你想要的速度。
|
|
|
|
在设备中的I2C外围设备上可能没有关系,但请尝试将SDA和SCL管脚设置为输入,而不是输出。在开始之前(它们应该是)检查管脚是否高。设置SEN应使二者从高切换到低(SDA,然后是SCL)。
|
|
|
|
你好,鲍伯,有两个1kOHM的上拉电阻。
|
|
|
|
嗨,ric,谢谢。将pin设置为输入,FW工作得很好。删除这些代码//TRISBbits.TRISB2=1;//SDA2//TRISBbits.TRISB3=1;//SCL2FW工作得很好。我认为不能设置TRIS寄存器来允许I2C工作得很好。谢谢。
|
|
|
|
不设置它留下默认值,作为输入。
|
|
|
|
伟大的。谢谢你
|
|
|
|
只有小组成员才能发言,加入小组>>
5039 浏览 9 评论
1936 浏览 8 评论
1872 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3092 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2160 浏览 5 评论
601浏览 1评论
466浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
496浏览 0评论
400浏览 0评论
IPECMD命令烧录AVR128DA48芯片,报找不到芯片错误
877浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-6 03:27 , Processed in 1.251659 second(s), Total 88, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191