本人正在调试LPC54114的SPI Master,在配置中发现一个问题,spiMasterXfer.dataWidth = 16时,spiMasterXfer.txCount设置大于10,spi就不正常了。求解!!!
楼主你好!
请你给出你调试的代码,以及工程路径,我这边会帮你查看下。
期待你的回复!
Have a great day,
Kerry
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
附件中为两个LPC54114 SPI主机的工程,分别为spiMasterXfer.dataWidth为8和16的例子。
发送方为LPC54114,设置为SPI主机,会连续发送数据,间隔为2秒。
接收方为nrf51822,设置为SPI从机,设置接收64个字节,接收到数据会通过串口打印出来。
spiMasterXfer.dataWidth = 16; spiMasterXfer.txCount = 8;,即每次发送16个字节,没问题,64个字节全部打印出来,只是只有前16个字节与发送的字节相同
spiMasterXfer.dataWidth = 16; spiMasterXfer.txCount = 10;,即每次发送20个字节,没问题,64个字节全部打印出来,只是只有前20个字节与发送的字节相同
spiMasterXfer.dataWidth = 16; spiMasterXfer.txCount = 13;,即每次发送26个字节,没问题,64个字节全部打印出来,只是只有前26个字节与发送的字节相同
spiMasterXfer.dataWidth = 16; spiMasterXfer.txCount = 14;,即每次发送28个字节,出现问题,没有打印数据,说明没有数据接收到
spiMasterXfer.dataWidth = 8; spiMasterXfer.txCount = 8;,即每次发送8个字节,没问题,64个字节全部打印出来,只是只有前8个字节与发送的字节相同
spiMasterXfer.dataWidth = 8; spiMasterXfer.txCount = 16;,即每次发送16个字节,没问题,64个字节全部打印出来,只是只有前16个字节与发送的字节相同
spiMasterXfer.dataWidth = 8; spiMasterXfer.txCount = 26;,即每次发送26个字节,没问题,64个字节全部打印出来,只是只有前26个字节与发送的字节相同
spiMasterXfer.dataWidth = 8; spiMasterXfer.txCount = 27;,即每次发送27个字节,出现问题,打印了5次数据后不打印了
spiMasterXfer.dataWidth = 8; spiMasterXfer.txCount = 28;,即每次发送28个字节,出现问题,没有打印数据,说明没有数据接收到
两个工程也已发至admin@community.nxp.com这个邮箱
楼主你好!
不好意思,回复迟了。
你说的每次发送28个字节,出现问题,没有打印数据,说明没有数据接收到。
你这里打印的数据是主机发出的数据,还是从机接收过来的数据?
我建议你用逻辑分析直接测试下SPI的波形,看看MOSI发送是否正常?如果MOSI发送正常,说明主机发送没有问题。然后看看MISO,从机是否回馈数据,如果MISO引脚有正确数据回复,那么就是代码这边有问题。如果MISO数据已经不正常了,那么说明从机没有回复准确数据,你需要看看从机的手册,检查下主机发送的数据是否满足从机的需求。
尤其是你说的发28字节之后那段SPI波形。
你也可以把出问题那段的波形贴出来,我帮你一起分析。
Wish it helps you!
Have a great day,
Kerry
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
我打印的是从机接收的数据,等我有时间了,用示波器测一下。 我从机设置的接收数据都是64个字节,只是NXP主机在变化发送的字节个数,等到28字节时,从机就,没有打印了。谢谢!
还是跟踪下波形,定位下问题到底在主机还是从机。】
后续有任何更新,欢迎告知!
Wish it helps you!
Have a great day,
Kerry
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
已解决,谢谢
感谢你的信息更新。
如果解决了,建议把具体的解决方案也分享下,并且结下帖子。
Have a great day,
Kerry
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------