小Q玉米 发表于 2018-1-17 18:59
楼主 你有测试过 H7 SPI的DMA吗?
测试过,SPI的接收DMA有如下问题,一是将接收fifo阈值从08修改为SPI_FIFO_THRESHOLD_01DATA,不然接收数据一直有一部分存在fifo中,二是将如下代码屏蔽,不然接收的数据长度不对。希望对你有帮助。
// if ((hspi->RxXferCount & 0x1U) == 0x0U)
// {
// hspi->RxXferCount = hspi->RxXferCount >> 1U;
// }
// else
// {
// hspi->RxXferCount = (hspi->RxXferCount >> 1U) + 1U;
// }