Microchip
直播中

潘千

7年用户 182经验值
私信 关注
[问答]

PIC32MX1XX/2XX A1和A2芯片版本之间未记录的差异

嗨,我想我应该分享这个:T.DRI已经使用了250F128D与我自己的RTOS和自己的库相当长的时间。后来,我需要更多的内存用于我的应用程序。幸运的是,有27 0F256D存在,我有一个备用PCB。我焊接了它,改变了链接器文件,并把结果上传到芯片上。它应该直接工作,但没有。嗯,我没有通过很多努力找到原因和方法。基本上,我有一个SPI通信的问题。我的库不再工作了,因为新版本在禁用SPI模块时时钟和数据管脚的行为方式上有所不同。我想我应该共享它,因为在任何文档中都没有找到关于它的任何引用。/tl.drOn A1 rev,管脚的默认状态。归因于模块禁用时SPI模块的时钟和数据功能较高。对于一些SPI模式(时钟空闲高),这意味着您可以在任何时候通过其CS管脚启用/禁用外部外围设备,并且可以在任何时候启用/禁用PIC上的SPI模块,而不会在通信中生成任何工件。在模块禁用时,SPI模块的时钟和数据功能是低的。对于那些相同的SPI模式,在启用外围设备的CS引脚之前,需要启用SPI模块。在禁用SPI模块之前,还需要禁用外围设备。否则,将产生假的时钟信号,如外围设备所见,影响通信。显然,A2 Rev需要更健壮的代码,这更有意义。我应该从一开始就这样做。但这不是我的观点。在这里,我们在两个修订之间有一个未记录的差异,即使我没有测试所有的可能性,我敢打赌这些修改也已经对其他内部外围设备进行了。如果有一个文件说明这个事实(除非我在寻找这样一个文件时很不走运),那会很有用。

回帖(13)

陈晨

2019-11-5 12:55:30
这并不总是获得官方微芯片答案的最佳场所。当SPI模块被禁用时,我希望端口控制寄存器接管。
举报

吕聪

2019-11-5 13:03:44
我认为在使用SPI模块之前最好把PIN锁存到空闲状态。有时,如果出于其他目的,在禁用SPI模块之后,您可能还需要将管脚LATCH设置为SDO上的H/L。
举报

梁艳

2019-11-5 13:18:15
是的,但是他们没有被修改。问题是,你有不同的行为与相同的代码,它没有记录。
举报

陈晨

2019-11-5 13:37:11
不同的行为并不总是一个bug,如果不同的东西是一个未定义的寄存器设置。你找到与数据表相反的东西了吗?我还假设当SPI被禁用时,控制将返回到端口寄存器。论坛并不总是获得需要支持票的官方微芯片答案的最佳场所。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分