STM32F429 串口配置开漏,上拉到5V,电平无法上拉到5V
使用STM32F429串口1 PA9_TX PA10_RX配置成开漏输出无上下拉,外部上拉到5V,上拉电阻为4.7K。通信正常但是电平无法上拉到5V,一直是3.3V。初始化完成之后电平上拉到5V,进行一次串口发送后电平就一直为3.3V。使用普通IO口上拉到5V进行测试时就可以上拉到5V,是不是复用模式的时候IO口特殊处理了,看手册没什么问题啊。 求解答。你调试一下,看看配置完,正常通讯后,看看GPIO的配置是否没变 可能还与STM32F429通讯的另外一片板子的串口硬件有关。 串口的TX用的是复用方式 ,电平是3.3V,这个是ARM芯片内部方式确定的,你如果用改成5V,找到更改输出方式地方
GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
其中的GPIO_MODE_AF_PP 改成开漏方式试一下能不能用 GPIO_MODE_AF_OD,
chifen 发表于 2018-9-30 17:12
串口的TX用的是复用方式 ,电平是3.3V,这个是ARM芯片内部方式确定的,你如果用改成5V,找到更改输出方式地方
G ...
我用的是固件库我已经设置为复用开漏了就是不行//USART1Òý½Å¶¨Òå
/**************************************************************/
#define USART1_TX_PIN GPIO_Pin_9
#define USART1_TX_PORT GPIOA
#define USART1_TX_CLK RCC_AHB1Periph_GPIOA
#define USART1_TX_MODE GPIO_Mode_AF
#define USART1_TX_PuPd GPIO_PuPd_NOPULL
#define USART1_TX_OType GPIO_OType_OD
#define USART1_TX_SPEED GPIO_Fast_Speed
#define USART1_TX_GPIO_AF GPIO_AF_USART1
#define USART1_RX_PIN GPIO_Pin_10
#define USART1_RX_PORT GPIOA
#define USART1_RX_CLK RCC_AHB1Periph_GPIOA
#define USART1_RX_MODE GPIO_Mode_AF
#define USART1_RX_PuPd GPIO_PuPd_UP
#define USART1_RX_OType GPIO_OType_PP
#define USART1_RX_SPEED GPIO_Fast_Speed
#define USART1_RX_GPIO_AF GPIO_AF_USART1
/********************************************************************************************/ 那只能用电平转换方式了
页:
[1]