HAL_DMAEx_MultiBufferStart_IT(
huart1.hdmatx,
(uint32_t)read_test1,
(uint32_t)&huart1.Instance->TDR,
(uint32_t)read_test2,
NAND_PAGE_SIZE);
__HAL_UART_ENABLE_IT(&huart1,UART_IT_TC);
SET_BIT(huart1.Instance -> CR3,USART_CR3_DMAT);
采用这个函数,现在一直重复发送数据,停止不下来 |
基于STM32H7 DMA 双缓冲实现SPI逐个数据输出
如果使用DMA双缓冲模式,就是循环发送。
停下来的话 可以基于完成中断手动停下来。
[md]现在就是中断进不去了,一直在循环发送,所以请教一下看谁有实例,参考一下
也来学习学习
[md]哦,你可以参考下上面链接的文章,我都测试了的。
注意DMA中断都使能了。
我想起来了,关于DMA完成中断这个地方好像需要手动
操作下,就是回调函数那个地方,我在文章基于STM32H7 DMA 双缓冲实现SPI逐个数据输出也特意分享出来了。