主题中讨论的其他器件:CC1350
我有一个项目希望保护两个 CC1350板之间 SPI 通信中的数据交换、因此我将 Crypto 项目和 SPI 项目集成在一起、但发生了几个错误、并在成功接收两次后导致通信失败
代码流:
1.我加密数据
2. while 循环等待加密成功完成
3.为 SPI 的 Rx 通道运行 DMA
4.为 SPI 的 Tx 通道运行 DMA
-->两次成功的接收后,主设备中用于 Rx 和 Tx 的 DMA 状态返回零,但在从设备中,用于 Rx 和 Tx 的 DMA 状态在 两次成功的接收后仍为1
问题:
一起使用加密模块和 SPI 时可能会出现什么错误?
加密模块和 SPI 都使用 DMA、但根据我从数据表中了解到的情况、两者都有不同的 DMA 可处理和交互? 那么、在将 SPI 和加密模块一起工作时、DMA 是否重叠或预计会导致问题?
P.S.
在我单独测试加密项目时、加密项目工作正常、数据已正确加密和解密
2. SPI 工程在我单独测试时工作正常、数据已正确发送和接收
3.当我从 从主板的 CRYPTOAesCbc 函数中注释出 DMA 部分时、通信返回成功、一切正常、并且在主板中 、CRYPTOAesCbc 函数的 DMA 部分不会导致 SPI 通信出现问题