结果就是void USART1_IRQHandler(void)正常 可以进来
{
// unsigned char num=0;
// if(USART_GetiTStatus(USART1,USART_IT_IDLE) == SET)
// {
// num = USART1->SR;
// num = USART1->DR; //清USART_IT_IDLE标志
// DMA_Cmd(DMA1_Channel5,DISABLE); //关闭DMA
// num = 128 - DMA_GetCurrDataCounter(DMA1_Channel5); //得到真正接收数据个数
// receive_data[num] = ' ';
// DMA1_Channel5->CNDTR=128; //重新设置接收数据个数 DMA_Cmd(DMA1_Channel5,ENABLE); //开启DMA
// // receive_flag = 1; //接收数据标志位置1
// DMA_Cmd(DMA1_Channel5,ENABLE); //开启DMA
// printf("%s ",receive_data );
// }
}
void DMAChannel5_IRQHandler(void)
{
if(DMA_GetITStatus(DMA1_IT_TC5) != RESET)
{
TestLive();
DMA_ClearITPendingBit(DMA1_IT_TC5);
}
//进不来
}
说明:我百度找了找别人的问题,一种是中断函数名字的问题,我这里不存在这个问题,如图
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
是的 是搬完了 再进空闲中断的
void USART1_IRQHandler(void)
{
unsigned char num=0;
memset(receive_data,0,128);..此后看到清空了
一周热门 更多>