本帖最后由 muyichuan2012 于 2020-8-31 09:12 编辑
请求一份串口DMA空闲中断例程,如果用STM32的移植过去,很多寄存器不一样,BSP包没注解,没把握
我看到STM32的空闲中断例程是这样:
void USART3_IRQHandler(void)
{
u32 temp=0;
if(USART_GetITStatus(USART3, USART_IT_IDLE) != RESET)
{
temp=USART3->SR;
temp=USART3->DR;//清除IDLE标志位
DMA_Cmd(DMA1_Channel3,DISABLE);
temp = MAX_RX_LEN - DMA_GetCurrDataCounter(DMA1_Channel3);
DMA_SetCurrDataCounter(DMA1_Channel3,MAX_RX_LEN);//设置传输长度
DMA_Cmd(DMA1_Channel3,ENABLE); //打开DMA
USART3_DMA_Send(Flag_Uart3_Send,temp);
}
}
不知AT32的要怎样改?
|
ST的库和AT32的库肯定不能混着用的,要么用ST的库,要么用AT32的库。我们的技术人员已经加您微信。
@muyichuan2012 :我指的是STM32的代码直接复制到AT编译是不行的。我微信是billy_2005
@billy_2005 :如果是ST103的程序,我说的是什么都不修改,直接下载带AT32上。如果您编译都没有通过,那是如何在ST上面跑起来的呢?另外,请问可以留一个微信吗?可能微信交流会有效率一点。
@muyichuan2012 :编译都不通过,有寄存器不兼容的
不做修改,直接用ST的代码跑得起来吗?
@muyichuan2012 :我希望实现每收好一包数据->关闭接收->大循环处理接收数据->开放接收(接收数据从数组0重新开始)
您好,请问可以把需求写的更清楚一点吗?