完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,我现在正在进行一个项目,需要与EEPROM和RTC的I2C通信。我正在使用“PIC32MZ EC启动器套件(DM320006)”,上面安装有PIC32MZ2048ECH144,该套件分别连接到“168pin到132pin适配器(AC320006)”和“PIC32 I/O扩展板(DM320002)”,用于向系统中的其他电路提供信号。我的设计是如此的简单,以至于每个SDA和SCL引脚在主(PIC32)和其他从上相互连接,并且在实验期间尝试了在这两个引脚上从1.2Kohm到5.1Kohm的不同的上拉电阻。事实上,我以前已经成功地用PIC18单片机设计过这样的系统,而且我一生中从未遇到过这样的问题。我还要提到,这是我第一次使用PIC32单片机。我的第一个“Hello World”程序是写和从EEPROM(24LC512,设备地址0b10100110)读取一些数据字节,并检查发送和接收的值是否相等。但是,我意识到通信有问题,并且总线合谋位(I2CSTATbits.BCL)被设置了,我的程序永远不会结束。经过3天的艰苦工作,我发现如果我想在EEPROM上写一个小于或等于0x7F的数据值,SDA引脚在停止状态之后仍然保持低电平,从而使总线繁忙。但是大于或等于0x80的值正在按预期发送,即,在停止状态之后,SDA和SCL都保持为高,因此总线对于进一步的通信信号是空闲的。我写“交谈”是因为我知道通信是成功的,因为我在发送“设备地址”、“EEPROM上的内存位置——高字节和低字节”以及“正在写入数据字节”的同时在第九个时钟上获得了ACKLOW。上述和唯一的问题发生在主发送停止条件后,发送了上述标准中给出的某些字节。为了查看eeprom是否正在创建此错误,我断开了与EEPROM或任何其他从设备的SDA SCL管脚的连接,并尝试再次发送数据。当然,这次不会看到ACK低点,但我只想看看成功的停止条件是否会被创建。但我意识到,即使没有奴隶连接到I2C总线,同样的行为继续!!!!在这次故障(发送0x7F)和非故障(发送0x80)期间,我张贴了两张SCL和SDA电压的示波器屏幕图像照片。你可以很容易地跟踪正在发送的时钟和数据信号。请注意在通信开始之前的信号(SDA SCL HGH),在通信结束之后有一个停止条件,SDA保持低,这是错误的行为。我发现这个行为非常有趣和奇怪,所以我需要问感兴趣的人,还有有经验的我贴出了我写的最基本的代码,还有两张显示信号SCL和SDA的示波器屏幕图像的图片,同时发送0x7F(有错误)和0x80(无错误)。如上所述,这些图片显示没有连接从机的通信,因此你看不到ACK位低,但如果从机连接(我看到ACKs成功)也会发生同样的行为。I2CEEPROM测试函数:函数写0xkk的EEPROM内存位置0x00 kk。例如,0x80值写在内存位置0x00 80,0x81- & 0x00,…函数还读取数据并检查发送和接收的数据是否相同。这里,在下面的代码中,如果将0x80更改为0x7F,则在第一次写入尝试中发生上述错误。如果从0x80开始写入数据,则不会出现问题,并且完全成功。启动、停止、重复启动等。
|
|
相关推荐
1个回答
|
|
嗨,我刚写了一篇描述这个问题的文章,我只是想看一下PIC32MZ2048ECH144的资料,发现I2C停止调节就是不工作!!!!事实上,这是我第一次在我的生活中看到一张勘误表,并且惊讶地看到这样的表达。究竟如何才能阻止条件不起作用,我不知道微芯片如何以及为什么会发生这种情况。我也想知道微芯片是否会在MCU生产的未来版本中纠正这种行为。无论如何,我应用了勘误表中提出的步骤,现在看来工作正常。我很高兴看到这个错误不是基于我的错误。我希望这个信息对任何在将来的项目中遇到错误的人有用。当然,我想说,如果我在未来的项目中遇到问题,我将首先检查勘误表。
|
|
|
|
只有小组成员才能发言,加入小组>>
5170 浏览 9 评论
2001 浏览 8 评论
1931 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3176 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2228 浏览 5 评论
737浏览 1评论
622浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
509浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
635浏览 0评论
531浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 22:35 , Processed in 1.303806 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号