STM32外部上拉电路实现5V输出详细设计

简述

stm32的IO口默认电平为0-3.3V输出,想要实现5V输出,需要借助外部上拉5V来实现,设置引脚模式为开漏输出或复用开漏输出。

外部上拉电路

主要就是一个电阻参数选择的问题,其实这个电阻主要就是其一个限流作用,5k到10K左右都可以,大一点小一点影响都不大,选用10K,亲测可行。
外部上拉电路

IO口引脚配置

主要就是一个设置io口输出模式为开漏输出后复用开漏输出。

	GPIO_InitTypeDef GPIO_InitStructure;
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG, ENABLE);//使能io口时钟
	//RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); 
 	//使能AFIO复用功能模块时钟
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8| GPIO_Pin_15; //G8和G15
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD; 
	 //设置为开漏输出 外接上拉电阻5v
 	//GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD;
	//设置复用开漏输出
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOG, &GPIO_InitStructure);//初始化GPIO
	GPIO_SetBits(GPIOG,GPIO_Pin_8);	//拉高输出5V  IN1
    GPIO_ResetBits(GPIOG,GPIO_Pin_15);	 //拉低	  IN2

注意事项

想要实现外部上拉5v输出,除了需要设置开漏输出外,还有一个要求,那就是该IO口必须能兼容5V才行,不然也无法输出5v,只能输出3.3V。
如何判断是否兼容5V?
查看手册芯片手册IO口号是否带有FT标识
必须带有这个标识才能通过开漏输出加外部上拉输出5V电平。

FT标识
ZET6带FT标识的引脚有:

PF0~PF5 
PA8~PA15
PB2、PB2、PB4
PB6~PB15
PC6~PC12
PD0 ~PD15
PE0~PE15
PF11~PF15
PG0~PG15

详情请见stm32f103ZET6 芯片手册

下载链接:

链接:https://pan.baidu.com/s/1Zf8Ssnz0IsrA8rMUI7BSUA
提取码:kafo

开漏输出内部实现

内部电路
这个开关的状态由引脚电平决定
当设置为高电平时,开关打开,此时io口处于悬浮状态,输出电平由外部上拉电路决定。
当设置为低电平时,开关闭合,外部上拉5v接地,输出为0V。

以上就是stm32IO口设置外部上拉5v输出的实现,有问题欢迎评论区留言,觉得还行,不吝赐赞。

物联沃分享整理
物联沃-IOTWORD物联网 » STM32外部上拉电路实现5V输出详细设计

发表评论