void modbus_master_interrupt(void) //modbus中断函数 串口5
{
Rec.len = MODBUS_MASTER_BUF_LEN - USART5_Rx_DMA_Channel->CNDTR; //DMA通道数据寄存器数量
if (Rec.len == 0)
return;
MYDMA_Enable(USART5_Rx_DMA_Channel, MODBUS_MASTER_BUF_LEN);
}
if(USART_GetITStatus(USART5, USART_IT_IDLE) != RESET)
{
USART_ClearFlag(USART5,USART_FLAG_IDLE);
modbus_master_interrupt(); //中断服务函数 modbus主机
}
中断函数一共就这两句话,应该不是中断的问题,可能还有那边出错了?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>