MSP432、在没有中断的情况下、我希望在 DMA 传输完成后立即关闭 DMA。 谢谢你
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
MSP432、在没有中断的情况下、我希望在 DMA 传输完成后立即关闭 DMA。 谢谢你
您好!
您需要执行存储器散聚型 DMA 传输。 任务列表如下所示:
DMA_ControlTable spiTXDmaSeq[TX_Tasks]=
{
//任务1,清除芯片选择
DMA_TaskStructEntry (1、UDMA_SIZE_8、
UDMA_SRC_INC_NONE、outputLow、
UDMA_DST_INC_NONE、&P6->OUT、
// uDMA_dst_INC_none,(void *)(0x42000000 +(0x40004C00 + 0x043)- 0x40000000)*(0x20)+ 0*(0x04)),//端口6位0
UDMA_ARB_1、UDMA_MODE_MEM_散 射_收集)、
//任务2,将虚拟值写入 SPI
DMA_TaskStructEntry (2、UDMA_SIZE_8、
UDMA_SRC_INC_NONE、&dummyTX/* MAP_SPI_getReceiveBufferAddressForDMA (EUSCI_B2_base)*、
UDMA_DST_INC_NONE、&EUSCI_B0_SPI->TXBUF、
UDMA_ARB_2、UDMA_MODE_MEM_散 射_收集)、
//任务3,将配置重置回启动状态
DMA_TaskStructEntry (4、UDMA_SIZE_32、
UDMA_SRC_INC_32、(void *)&ReInitTask0、
UDMA_DST_INC_32、(void *)&MSP_EXP432P401RLP_DMAControlTable[0]、
UDMA_ARB_4、UDMA_MODE_PER_散 射_收集)
}
在此示例任务列表中、GPIO 被清除、然后 SPI 被写入、但您可以将其替换为写入计时器控制寄存器以停止计时器。 最后一个任务是重新配置 DMAControlTable、以便在下一个定时器触发时 DMA 将重复(无 ISR)。
此处提供了一个示例、以提供有关如何使用散聚模式的更多上下文:
dev.ti.com/.../
此致、
Chris