您好,非常感谢您的出色支持和服务。我也开始掌握 MCU、IDE 和文档资料。
这是我的设计
1. 使用中断方法初始化 LPSPI0 并配置为 32 位,1 mbps 波特率作为主机。
2. 在主循环中,每隔 10 毫秒,我需要更新 16 个元素的数组。每个元素的长度为 32 位。
3. 我们需要使用中断方法通过SPI 传输一个包含16 个参数的数组。每个参数都是 32 位字。
4. 使用 FOR 循环,我们需要执行以下操作
A。更新第一个参数
b. 检查传输是否完成
C。更新第二个参数
d. 检查传输是否完成
e. 使用此 FOR 循环完成所有 16 个参数。
现在我想澄清以下几点,以便我继续发展。
1、“LPSPI_DRV_MasterTransfer”函数和“LPSPI_DRV_MasterTransferBlocking”函数有什么区别?
2.请问哪种功能最适合我的应用?
3、使用你们的SDK功能,是每次传完后中断还是传完16个参数后中断?
4.请问哪里可以看到LPSPI的中断声明和定义?
5.我们要用“LPSPI_DRV_MasterGetTransferStatus”来确认传输完成吗?
6. “LPSPI_DRV_MasterGetTransferStatus”函数是确认每个 32 位传输完成还是整个 16 参数数组传输完成?
7. 请在Main func
tion 和Interrupt 中定义简单步骤的函数流程/逻辑流程来传递这16个参数(每个32位长度)
8. 如果我们使用 LPSPI0 作为主机,请问我们如何处理这个“receiveBuffer”?我们需要在下面的函数中通过“receiveBuffer”传递什么?
status_t LPSPI_DRV_MasterTransfer(uint32_t 实例,const uint8_t * sendBuffer,uint8_t * receiveBuffer,uint16_t transferByteCount)
9、以上功能支持传输8位数据。如果我们使用上面的函数传输12个参数,每个参数都是32位长度,请问init函数和main函数“LPSPI_DRV_MasterTransfer”需要做哪些改动?
10. 如果需要像LPSPI0 master一样使用polling的方式来传输这16个参数,请问有SDK功能支持吗?如果是,函数名称是什么?
11. 如果有SDK功能支持作为LPSPI0 master的轮询方式,请在Main函数中简单的步骤定义功能流程/逻辑流程。