STM32G070CB的USART1_RX引脚

简介

在使用STM32G070CBT6 的 USART1时,发现把 PA10作为 USART1_RX引脚时,接收不到数据。

问题排查

更换pin脚

使用PB6/PB7作为USART1_TX/RX, USART1 工作正常。

使用PA9/PB7作为USART1_TX/RX, USART1 同样工作正常。

示波器检测

示波器接PA10:

  • PA10 作为普通的IO口,input和output可以正常工作
  • PA10 作为USART1_RX,示波器上显示PA10一直被拉高,导致通信数据的电平变化很小。

查阅资料

参考链接

查数据手册发现


PA11/PA12可以被复用为PA9/PA10。

具体设置参考如下图片:


从上面图片可以发现,如果选择了"Pin PA9/pa10 instead od PA11/PA12"之后,在Pinout view框图里,原先PA9/PA10的位置会变成 NC , 原本PA11/PA12的位置变成了PA9/PA10 。这时再把新的PA9/PA10配置为USART1_TX/RX, 同时物理连接也把PA11/PA12当作USART1_TX/RX,则USART1可以正常工作

综上

在STM32G070系列MCU中, 可以把PA11/PA12复用为USART1 的 TX/RX, 但是如果同时存在PA9/10/11/12, 则USART1_TX可以使用引脚PA9(或者把PA11复用为PA9), 但RX只能用 PA12复用为PA10, 如果直接把PA10配置为RX,则USART1无法正常接收数据,因为PA10内部被一直拉高。.

相关推荐
Electron-er37 分钟前
汽车LIN总线通讯:从物理层到协议栈的深度解析
单片机·汽车电子·lin总线·lin总线通讯
Do vis8241 小时前
STM32第十六天蓝牙模块
stm32·单片机·嵌入式硬件
学不动CV了1 小时前
ARM单片机启动流程(二)(详细解析)
c语言·arm开发·stm32·单片机·51单片机
猫猫的小茶馆3 小时前
【STM32】通用定时器基本原理
c语言·stm32·单片机·嵌入式硬件·mcu·51单片机
jingshaoqi_ccc4 小时前
stm32的USART使用DMA配置成循环模式时发送和接收有着本质区别
stm32·单片机·嵌入式硬件
MingYue_SSS7 小时前
开关电源抄板学习
经验分享·笔记·嵌入式硬件·学习
玉树临风江流儿7 小时前
炸鸡派-定时器基础例程
单片机·嵌入式硬件
小宋同学在不断学习8 小时前
stm32-掌握SPI原理(一)
stm32·单片机·spi
is08158 小时前
STM32的 syscalls.c 和 sysmem.c
c语言·stm32·嵌入式硬件
学不动CV了8 小时前
数据结构---链表结构体、指针深入理解(三)
c语言·arm开发·数据结构·stm32·单片机·链表