LPC54114的SPI问题

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LPC54114的SPI问题

2,905 Views
xiaoaaa
Contributor I

本人正在调试LPC54114的SPI Master,在配置中发现一个问题,spiMasterXfer.dataWidth = 16时,spiMasterXfer.txCount设置大于10,spi就不正常了。求解!!!

Labels (4)
Tags (1)
0 Kudos
7 Replies

2,528 Views
kerryzhou
NXP TechSupport
NXP TechSupport

楼主你好!

请你给出你调试的代码,以及工程路径,我这边会帮你查看下。

期待你的回复!


Have a great day,
Kerry

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

2,527 Views
xiaoaaa
Contributor I

附件中为两个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个字节,出现问题,没有打印数据,说明没有数据接收到

pastedImage_1.png

pastedImage_2.png

两个工程也已发至admin@community.nxp.com这个邮箱

0 Kudos

2,528 Views
kerryzhou
NXP TechSupport
NXP TechSupport

楼主你好!

不好意思,回复迟了。

你说的每次发送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!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

2,528 Views
xiaoaaa
Contributor I

我打印的是从机接收的数据,等我有时间了,用示波器测一下。  我从机设置的接收数据都是64个字节,只是NXP主机在变化发送的字节个数,等到28字节时,从机就,没有打印了。谢谢!

0 Kudos

2,528 Views
kerryzhou
NXP TechSupport
NXP TechSupport

还是跟踪下波形,定位下问题到底在主机还是从机。】

后续有任何更新,欢迎告知!

Wish it helps you!

Have a great day,
Kerry

 

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

2,528 Views
xiaoaaa
Contributor I

已解决,谢谢

0 Kudos

2,528 Views
kerryzhou
NXP TechSupport
NXP TechSupport

感谢你的信息更新。

如果解决了,建议把具体的解决方案也分享下,并且结下帖子。

Have a great day,
Kerry

 

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos