单片机IO灌入5V电压导致其他IO电压测量到大于供电电压问题

最近用GD32F103RCT6做项目,用了3个485收发器,都是直接接在单片机IO上的。
在这里插入图片描述
485收发器是5V供电的,这个时候就出现5V电平和3.3V电平兼容的问题了。
一开始只用了PA10、PC11这两个串口,他俩是兼容5V的,从手册可以看出IO最大允许输入5.5V。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
但是PA3是不兼容5V的,最大允许输入电压为4V,输入5V就会有问题。

我往PA3输入5V后,发生了如下异常现象:
单片机的PA3配置为串口接收,PC1我是用来配置为ADC采集外面的模拟信号,因此GPIO模式配置为:

	/* connect port to USARTx_Rx */
	gpio_init(GPIOA, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_3);

    /* config the GPIO as analog mode */
    gpio_init(GPIOC, GPIO_MODE_AIN, GPIO_OSPEED_50MHZ, GPIO_PIN_1);	

程序运行起来后,用万用表测量PC1能否测量到3.9V的电压。因为单片机是3.3V供电的,因此当时觉得很神奇,后面排查到才发现是IO灌入5V的原因。

解决方法当然就是不要往不兼容5V电平的IO灌入超过4V的电压了。
1、可以使用电平转换芯片把5V转成3.3V再输入。
2、可以使用二极管和电阻的组合,把输入电压钳位在4V以下。
在这里插入图片描述
3、可以使用稳压二极管钳位
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

【ql君】qlexcel

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值