使用原子哥的串口+DMA循环接收,并且设置DMA传输完成中断,但是在每次初始化完成DMA后总要进入一次DMA传输完成中断。
或者在初始化之后,调用下面的代码也会进入一次DMA传输完成中断。
void a(void) {
DMA2_Stream5->CR &= 0xfffffffe; //失能DMA
DMA2_Stream5->CR |= 1; //使能DMA
}
由于我程序上需要频繁地调用上面的程序,但是我又不想每次调用 子函数a 时都进入一次DMA传输完成中断,请问这个有什么办法可以在调用 子函数a 的时候不进入DMA传输完成中断???
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
void a(void) {
DMA2_Stream5->CR &= ~(1 << 4); //关闭传输完成中断
DMA2_Stream5->CR &= 0xfffffffe; //失能DMA
DMA2_Stream5->CR |= 1; //使能DMA
DMA2->HIFCR |= 0xf40; //清楚中断标志位
DMA2_Stream5->CR |= 1 << 4; //开启传输完成中断
}
一周热门 更多>