采用SDK2.6.1中的\driver_examples\lpspi\interrupt和rtos_examples\freertos_lpspi,配置定义LPSPI3为master, LPSPI1为slave,跳线连接后,单板测试运行正常。
将master改为LPSPI1, slave改为LPSP3,LPSPI1调用LPSPI_RTOS_Transfer函数后正常返回,但读取的数据是错误的。LPSPI3调用LPSPI_SlaveTransferNonBlocking函数返回正常,但一直没有回调调用。
修改后,可发送,但一直没有slave中断产生。
问题:
接线未变
仅更换了EXAMPLE_LPSPI_MASTER_BASEADDR、EXAMPLE_LPSPI_SLAVE_BASEADDR和相应中断配置后产生不能通讯。
该现象是什么原因造成的?是否与RT1052芯片有关?
Hi @wakels ,
楼主你好!
1. 你的SDK版本太低了,建议你换成最新的SDK2.12.0:
2. RT1050 LPSPI1 和 LPSP3 并没有区别,是同样的IP
3. 所以你的问题,大概还是和代码修改不到位有关,检查引脚Pinmux配置是否正确,调用的中断函数,中断号,LPSPI接口号是否都修改完成。
4. 如果还有问题,建议你查看LPCSPI bus总线波形,看看波形上数据是否正确,这样可以确认是总线数据就不对,还是接到的数据不对。
Best Regards,
Kerry