|
例程中是用定时器的UP事件来触发DMA, 实现从ad7606读取数据到缓存。例程代码如下:
HAL_DMA_Start_IT(&TIMDMA, (uint32_t)AD7606_BASE, (uint32_t)g_sAd7606Buf, AD7606_BUFSIZE);
但是我在看stm32H7的参考手册的定时器章节中,发现这么一句话:
“The DMA controller destination is unique and must point to the virtual register TIMx_DMAR.”
也就是说定时器的DMA的目的地址必须是TIMx_DMAR. 我在例程代码中,发现并没有开启定时器UP事件的DMA功能(通过TIMx_DIER来设置),于是我猜想,是不是在不开定时器DMA的情况下, 定时器的这些事件,可以用作触发其它的DMA传输,就好像例程中的这种用法。
进一步延伸一下,是不是所有DMAMUX中的外设请求输入(DMAMUXperipheral request inputs), 都可以这样用。 或者说我想的完全是错的?
|
|