中级会员
 
- 积分
- 212
- 金钱
- 212
- 注册时间
- 2020-6-22
- 在线时间
- 42 小时
|
1金钱
在一次定时中断中可以进入同一个SPI的两次DMA中断吗?,我在用定时中断中利用SPI的DMA读取两个传感器的数据,只能进入一次DMA中断,有懂的大佬麻烦指点指点
void DMA1_Stream3_IRQHandler (void)
{
SPI_Cmd(SPI2, DISABLE);
DMA_Cmd(DMA1_Stream3,DISABLE);
DMA_Cmd(DMA1_Stream4,DISABLE);
while(DMA_GetITStatus(DMA1_Stream3,DMA_IT_TCIF3)==RESET);
DATA_Combine();
DMA_ClearITPendingBit(DMA1_Stream3,DMA_IT_TCIF3);
DMA_ClearITPendingBit(DMA1_Stream4,DMA_IT_TCIF4);
Read_Mark=1;
}
void TIM2_IRQHandler(void)
{
int i;
if(TIM_GetITStatus(TIM2,TIM_IT_Update)!=RESET)//检查指定的TIM中断发生与否:TIM 中断源
{
Read_Mark=0;
PDout(5)=0;
DMA_ICM_ReadData(ICM_TEMP_OUTH_REG);
while(Read_Mark==1)
{
PDout(5)=1;
Read_Mark=0;
}
PDout(4)=0;
DMA_ICM_ReadData(ICM_TEMP_OUTH_REG);
while(Read_Mark==1)
{
PDout(4)=1;
Read_Mark=0;
}
LED2_REV;
TIM_ClearITPendingBit(TIM2,TIM_IT_Update);//清除TIMx的中断待处理位:TIM 中断源
}
}
|
|