[C] 纯文本查看 复制代码 /*
*********************************************************************************************************
* 函 数 名: PLAY_DMA_IRQHandler
* 功能说明: 播放DMA中断
* 形 参: 无
* 返 回 值: 无
*********************************************************************************************************
*/
#include "RTL.h"
#if 0
extern OS_SEM SemaphoreVedio;
#endif
extern OS_TID HandleMusicStart;
extern __IO int8_t VedioSynCount;
void PLAY_DMA_IRQHandler(void)
{
/* 检测DMA2_Steam5传输完成标志 */
if(DMA2->HISR & DMA_IT_TCIF5)
{
/* 清除传输完成标志 */
DMA2->HIFCR |= DMA_IT_TCIF5;
if(s_ucPlayRecMode == 1)
{
/* 获取当前使用的缓存,如果是1则使用的是缓存1,如果是0那么使用的是缓存0 */
if(DMA2_Stream5->CR & DMA_SxCR_CT)
{
/* 当前使用的是缓存 1 */
isr_evt_set (0x0400, HandleMusicStart);
}
else
{
/* 当前使用的是缓存 0 */
isr_evt_set (0x0200, HandleMusicStart);
}
}
VedioSynCount++;
#if 0
if(VedioSynCount == 2)
{
memset(ptMP3->pI2SBuffer0, 0, 2304*2);
memset(ptMP3->pI2SBuffer1, 0, 2304*2);
}
isr_sem_send (&SemaphoreVedio);
#endif
}
} |