关于STM32F103RC单片机串口1重映射后无法仿真和SWG无法二次烧录的问题。

  最近在做一个项目,是与他人合作编程,使用的是ucos系统,自己只能另外建立一个工程,因为各种原因需要将串口1重映射,而在映射过程中遇到了只能烧录一次的问题。

具体现象是:

  自己在没有将代码整合之前使用自建ucos工程实验,串口1使用DMA接收和发送,对寄存器直接配置,本身没有问题,各方面正常运行。但是当代码整合之后出现了SWG下载只能下载一次,无法仿真。二次下载只能长安reset。

  网上查找原因,知道是可能是在串口重映射的时候出现的问题。

  因为我是使用寄存器赋值的。

  AFIO->MAPR|=0x00000004;

  可能是这句代码的问题,所以就重新使用库函数里面的串口重映射代码,问题解决。

   GPIO_PinRemapConfig(GPIO_Remap_USART1,ENABLE);

  具体寄存器操作的失败原因还在探究。

posted @ 2020-05-27 14:22  Gustavo_G  阅读(526)  评论(0编辑  收藏  举报