●关于STM32F407在HAL库下使用SPI通过DMA发送数据如何获取DMA发送计数,变量名DMA_SxNDTR 计数器在HAL库工程里查不到。 ●具体情况是我想使用SPI通过DMA发送数据,希望能获取和监控DMA剩余待发送数据的数量,主要是想在DMA发送最后一个数据的时候进行一些IO控制操作。例如发送0xF1,在发送完1111 000前面7位后,发送1位时我能通过计数器知道目前是DMA发送的最后一位。 ●我在数据手册里查到原文写:”● DMA_SxNDTR 计数器在数据存储结束后递减,该计数器中包含仍需执行的事务数。“ ●但是我使用的HAL库里查不到这个DMA_SxNDTR 变量。期待有大神告诉下我DMA_SxNDTR 在HAL库里对应的变量名,或者能教教我怎么实现监控和获取DMA发送数据计数 谢谢 |
找这个可能有点小困难,你可以这样操作: 读DMA1通道1的实时CNDTR值, DMA1_Channel1->CNDTR; 读DMA1通道2的实时CNDTR值,DMA1_Channel2->CNDTR; 这样操作也是没问题的。 当然,你也可以基于你所定义DMA结构体查找相应成员。 两种写法随你用。
看看附图中的是不是你需要的
看看附图中的是不是你需要的
看看附图中的是不是你需要的