我想在战舰系列上使用ModBus,串口用DMA通信,之前有用串口中断实现的ModBus,现在如何用DMA实现啊,之前串口中断在ModBus的portserial.c里面是有这样的代码:
void vMBPortSerialEnable( BOOL xRxEnable, BOOL xTxEnable )
{
if(TRUE==xRxEnable)
{
USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
}
else
{
USART_ITConfig(USART1, USART_IT_RXNE, DISABLE);
}
if(TRUE==xTxEnable)
{
USART_ITConfig(USART1, USART_IT_TXE, ENABLE);
}
else
{
USART_ITConfig(USART1, USART_IT_TXE, DISABLE);
}
}
现在用DMA只有一个空闲中断,要怎么做啊,而且使用DMA发送是每次发送都要使能:DMA_Cmd(DMA2_Stream7, ENABLE)然后在中断里面DISABLE,在MODBUS中要怎么弄啊,求助,谢谢各位大神,刚开始用MODBUS
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>