2019-07-14 14:57发布
TOPCB 发表于 2018-12-27 16:02 楼主,常规理解,DMA在开启中断后,将读取的数据放入到缓冲区,当缓冲区满以后产生DMA中断。这时在DMA中断中加处理即可。代码中未看到DMA的NVIC配置。
TOPCB 发表于 2018-12-27 16:22 用中断的话,应该是在中断中做处理啊。读取的标志位用DMA_GetITStatus。
TOPCB 发表于 2018-12-27 16:47 楼主,从手册上看应该用通道4
最多设置5个标签!
配置了NVIC,也写了中断的
//NVIC SPI1 RX
NVIC_InitStructure.NVIC_IRQChannel = DMA1_Channel2_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
嗯 嗯 现在是无法进入中断的
中断函数也有
void DMA1_Channel2_IRQHandler(void)
{
if(DMA_GetITStatus(DMA1_IT_TC2))
{
DMA_ClearITPendingBit(DMA1_IT_TC2);
}
}
你看下面我回复的 我看的中文参考手册上面是通道2呢?
一周热门 更多>