发 帖  
原厂入驻New
[问答] SPI上的时钟保持高电平且未运行
62 时钟 SPI
分享
我试图在32MX上设置电阻式触摸屏SPI,并使用SPI2,SPICOM2=0x08260(启用,8位,时钟空闲高,主模式)。我有SPI2BRG=0x08(我试过0xFF),但是我看到时钟脉冲在整个写/读过程中保持高电平,我知道我的外围时钟正在运行,因为PMP工作正常。在家族SPI规范表单中,我看到有一条控制线为SPI启用主时钟(在示意图中简单地显示为“Enable Master clock”,但未讨论),我想知道这是否以某种方式禁用,以及是否存在对它的访问?
0
2019-11-6 12:49:32   评论 分享淘帖 邀请回答

相关问题

19个回答
这将有助于显示你为写/读过程编写的代码。
2019-11-6 12:59:53 评论

举报

以及你使用的确切芯片。你检查过它吗?
2019-11-6 13:18:32 评论

举报

谢谢NKurzman,确切的芯片是3MX795F512L,不,我没有检查勘误表。到目前为止,这里是MPLAB8:SPI2CONC= 0x8360;//启用(15),输入采样(9),活动到空闲(8),空闲高(6),主(5)[码],LATC1=0;//启用CHIPSPI2BUF=0B111000;//命令触摸屏提供X协调(SPI2STATBITS.SPIBF);//XVAL= SPI2BUF;/ /写XValSPI2BUF=0x00;//假给必要的15个时钟分钟时间(SPI2STATbits.SPIRBF);//SPI2BUF=0b10011000;//命令触摸屏提供Y坐标(SPI2STATbits.SPIRBF);//Yval=SPI2BUF;//写到Yval_LATC1=1;//禁用芯片[代码]
感谢QHBT设备ID修订版=54300053
因为结束标记必须是[/code]所以代码标记不能工作,所以这个测试是反向的(SPI2STATbits.SPIRBF);//当传输完成时该位被设置。您应该对SSP2BUF进行伪读以确保标记是清晰的,并等待它被设置。
2019-11-6 14:00:53 评论

举报

QHB -谢谢你-但是,经过校正,我仍然没有时钟脉冲发出。时钟引脚高,并停留在那里的整个交易。任何编码错误,我可能会使单命令写PI2(0B111000);应该肯定引起八个时钟脉冲?-时钟刚好保持高。修正和使用PLBI.HNO相关的勘误表。
2019-11-6 14:29:22 评论

举报

谢谢你的回复。崔斯很好。PPS…我最近刚到达32MX,开始使用一个100引脚的TQFP,它没有PPS(这让我很惊讶,来自PIC24),但现在我看到一些32MX的引脚更少的TQFP确实有PPS。不管怎样,当你提到它的时候,我很兴奋,认为我忽略了它,但是,唉,不是PPS。我现在开始认为我的筹码很糟糕,但每次我都认为过去还有别的问题(通常是我的无能)。
好的,现在我仍然不确定您的Read/Write函数——QHB给了您一些建议,您也修改了代码……正如他几天前建议的,对于SPI,由于SPI本身的性质,单个“SPIxfer()”函数将更容易理解和调试……
2019-11-6 14:53:03 评论

举报

我的SPI2时钟管脚具有以下功能:4SCK2/U6TX/U3RTS/PMA5/CN8/RG6I具有_TRISG6=0和在8位主模式下启用的SPI2,设置为高空闲,并且即使管脚确实变高,当我尝试执行写时它也死掉了。现在我也使用PMP,并且该管脚是PMP地址线。PMP有可能阻止SPI工作吗?
啊,是的,当然!我的意思是,这是可能的-我从来没有用过这张照片。你能尝试只启用SPI吗?
2019-11-6 15:27:04 评论

举报

禁用PMP,但仍然没有时钟。
根据该引脚上的功能顺序,SPI的使用将超过PMP使用。我注意到,一些芯片上的一些设备希望在启用之前完全设置——不知道这是否是这样的设备或外围设备。尝试配置SPI2COM寄存器,但没有设置ON位,然后自己设置ON位。如何确定没有SCK信号?你是否把一个范围探头直接放在设备的PIN(不是PCB轨道)上检查一个干式接头?此外,您可以尝试一个简单的RG6引脚切换(没有任何其他外围活动),并确保您可以检测到。(抓住这里的稻草!)苏珊
2019-11-6 15:58:56 评论

举报

“尝试配置SPI2COM寄存器,但没有设置ON位,然后自己设置ON位。如何确定没有SCK信号?”澳大利亚人苏珊-谢谢你的回应。我将按照您的建议进行尝试,在SPI2事务之前,禁用PMP并启用SPI2。我知道SCK管脚连接是完整的,因为,根据需要,它在提示上变高——并且查看范围,它只是保持高而不会计时——一旦事务结束,就返回。除了明显地使SDI、SDO、SCK和CS连接正确(检查、重新检查和再次检查)并将正确的值放入SPI2CON(还禁用Family Spec中提到的所有中断)之外,我不明白WriteSPI2()为什么没有触发作用域上的时钟。无论何时,我都会把它贴在这里。
不幸的是没用。不过,我和SPI4在同一个芯片上有业务,并会努力做到这一点。
Hi.16个帖子之后,我们仍然不知道您使用的PIC的确切模型……周围只有1200个不同的PIC;=)
2019-11-6 16:37:23 评论

举报

在16个帖子中,东西被埋葬和遗忘,RISC:我在第二个帖子中提到了它-它是32MX795F512L。你说得对,那里确实有很多。
可能会显示初始化代码。如SPIXBRG等的设置,也有实际的代码写为PI2和ReXSPI2。
2019-11-6 16:59:26 评论

举报

这是我的SPI2设置:SPI2CON=0x8360;//.(15),输入样本在末尾(9),活动到空闲(8),空闲高(6),主(5),我在0xFF和0之间尝试过SPI2BRG,我相信那些plib.h函数等价于:

只有小组成员才能发言,加入小组>>

65个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表