[AT32F413]

请求串口DMA空闲中断例子【已解决】

[复制链接]
919|10
手机看帖
扫描二维码
随时随地手机跟帖
billy_2005|  楼主 | 2020-7-21 10:28 | 显示全部楼层 |阅读模式
本帖最后由 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的要怎样改?

使用特权

评论回复
评论
muyichuan2012 2020-7-28 08:45 回复TA
ST的库和AT32的库肯定不能混着用的,要么用ST的库,要么用AT32的库。我们的技术人员已经加您微信。 
billy_2005 2020-7-27 16:50 回复TA
@muyichuan2012 :我指的是STM32的代码直接复制到AT编译是不行的。我微信是billy_2005 
muyichuan2012 2020-7-22 17:47 回复TA
@billy_2005 :如果是ST103的程序,我说的是什么都不修改,直接下载带AT32上。如果您编译都没有通过,那是如何在ST上面跑起来的呢?另外,请问可以留一个微信吗?可能微信交流会有效率一点。 
billy_2005 2020-7-22 14:37 回复TA
@muyichuan2012 :编译都不通过,有寄存器不兼容的 
muyichuan2012 2020-7-21 15:36 回复TA
不做修改,直接用ST的代码跑得起来吗? 
billy_2005 2020-7-21 13:57 回复TA
@muyichuan2012 :我希望实现每收好一包数据->关闭接收->大循环处理接收数据->开放接收(接收数据从数组0重新开始) 
muyichuan2012 2020-7-21 11:23 回复TA
您好,请问可以把需求写的更清楚一点吗? 
084425| | 2020-7-21 22:52 | 显示全部楼层
如果是ST103系列的话,串口寄存器是兼容的,不需要修改

使用特权

评论回复
MENGYDNG| | 2020-7-28 09:47 | 显示全部楼层
如果想使用AT32的库,并且参照stm32的程序,那只能对着stm32的程序来,在AT32库上找对应的寄存器地址的宏。想继续使用STM32的库,只能先直接下载,然后看能否跑起来,不行再一步步查。

使用特权

评论回复
muyichuan2012| | 2020-8-16 15:42 | 显示全部楼层
是软件操作问题,已加微信替客户解决。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

33

主题

84

帖子

1

粉丝