ST意法半导体
直播中

丁冬芹

7年用户 1304经验值
私信 关注
[问答]

如何在PB11和PB10引脚上使用相同的USART3设备呢

大家好,我正在使用 STM32L100RX,我正在使用 PC11 和 PC10 端口作为 USART3,到目前为止一切正常,但我需要在 PB11 和 PB10 引脚上使用相同的 usart (USART3)...我需要配置这些引脚在运行时因为我有另一个设备!像多路复用器,那我该怎么办?
这是我的代码:
  • GPIO_InitTypeDef def,def2;
  •   HAL_GPIO_DeInit(GPIOB,GPIO_PIN_11); //Deinit port 11 and 10 of B PORT
  •   HAL_GPIO_DeInit(GPIOB,GPIO_PIN_10);
  •   def.Alternate = GPIO_AF7_USART3;
  •   def.Pull = GPIO_NOPULL;
  •   def.Mode = GPIO_MODE_AF_PP;
  •   def.Pin = GPIO_PIN_11;
  •   def.Speed = GPIO_SPEED_FREQ_HIGH;
  •   HAL_GPIO_Init(GPIOC,&def);
  •   def2.Alternate = GPIO_AF7_USART3;
  •   def2.Pull = GPIO_NOPULL;
  •   def2.Mode = GPIO_MODE_AF_PP;
  •   def2.Pin = GPIO_PIN_10;
  •   def2.Speed = GPIO_SPEED_FREQ_HIGH;
  •   HAL_GPIO_Init(GPIOC,&def2); //Set now the usart 3 to the desired PORT
但它不起作用......有什么想法吗?
问候!

回帖(1)

俞旸

2022-12-21 10:20:16
您必须只有一组引脚连接到 UART。动态取消选择作为输入,首先拉出未使用的输入。在传输进行时切换引脚时重置 usart 会很干净。这是一个很好的动态硬件重新配置。CubeMX 主要涵盖静态的并且需要编码器覆盖......
举报

更多回帖

发帖
×
20
完善资料,
赚取积分