忽略最后一个帖子。我以为诺斯盖说要用ISR。现在我深入阅读了DMA文档,我想我明白他在暗示什么。我可以用一个定时器或输出比较(OC)IRQ来驱动SPI,而不需要ISR。下面是我对我需要做的解释。1。将dMax ReqBist.IRQSEL配置为适当的定时器或OC IRQ的正确值。我有定时器2、3、4、5和OC 1、2、3、4的选项,所以有很多灵活性。2。配置具有SPIXBUF寄存器地址的DMAX PAD。3。为SPI写创建一个4深DMA缓冲区,每个ADC通道多路复用器设置一个位置,并使用自动地址增量特性循环通过缓冲区。其他用于DMA参数(方向,…)的misc配置,定时器或OC外围配置以及SPI外围配置。因此,在每个定时器或OC中断(无论我选择什么),DMA都将把下一个DMA缓冲元素写到SPI外围。我将尝试一下。如果这工作,那么整个采样过程将由硬件驱动。
忽略最后一个帖子。我以为诺斯盖说要用ISR。现在我深入阅读了DMA文档,我想我明白他在暗示什么。我可以用一个定时器或输出比较(OC)IRQ来驱动SPI,而不需要ISR。下面是我对我需要做的解释。1。将dMax ReqBist.IRQSEL配置为适当的定时器或OC IRQ的正确值。我有定时器2、3、4、5和OC 1、2、3、4的选项,所以有很多灵活性。2。配置具有SPIXBUF寄存器地址的DMAX PAD。3。为SPI写创建一个4深DMA缓冲区,每个ADC通道多路复用器设置一个位置,并使用自动地址增量特性循环通过缓冲区。其他用于DMA参数(方向,…)的misc配置,定时器或OC外围配置以及SPI外围配置。因此,在每个定时器或OC中断(无论我选择什么),DMA都将把下一个DMA缓冲元素写到SPI外围。我将尝试一下。如果这工作,那么整个采样过程将由硬件驱动。
举报