|
发表于 2019-3-7 18:04:17
|
显示全部楼层
这个说法前面提到了,是因为单片机 IO 接有一对保护二极管,分别向 VCC 和 GND,这保证对 IO 灌和拉电流时,IO 电压不会比 GND 低超过这个二极管的 PN 结或比 VCC 高超过那个二极管的 PN 结导通电压,因而不会损坏单片机 IO,除非
1、你拉、灌进 IO 的电流超过 IO 能承受的值,这个值在单片机 Datasheet 里有明确指出的,分别有拉电流和灌电流两个值
2、前面提到的,由于你的比如 1117 等稳压 IC 不具有 sink 电流能力你也没有额外设计电路解决这个问题,导致进入 IO 的电流抬高了 VCC,最终超过单片机 VCC 对 GND 容许最大值,同样会触发闩锁导致击穿
当然这里指的是现代单片机,比如 AVR,STM32,都明确指出其 IO 存在这个二极管设计。古代单片机比如舞腰什么的,那我就不清楚了。死太惨巫妖之类我也不清楚。楼主用的是 STM8 吧(好像),所以是不用担心这个问题的,当然抬高 VCC 这破事就不好说。
AVR 单片机,明确指出存在这对二极管,所以你可以放心往 IO 里拉灌电流,只要不超过手册容许值(好几十 mA)就没事
STM32 也是
|
|