关于上拉电阻的问题,有一个比较朦胧不太确定的疑问:STM32单片机的IO口,可以在程序中设置为输出上拉或者输出下拉模式,而我在设计IO硬件电路的时候,一般会加一个上拉电阻,程序中也会把IO口设置为输出上拉模式,那么我想问的是,是不是在硬件上,这个上拉电阻可以节省掉啊?这样就节省了一个电阻的价格。如果我节省掉这个上拉电阻,会带来啥样的后果呢? (1)首先我们鼓励同学这样的思考,很多人有疑问但是好像别人从来没有这么做过,或者说前辈也没告诉我,这个时候我就不敢去尝试,不是这样的,大牛的成长之路都是这样一边学习一边质疑一边勇敢的去验证自己的假想 (2)然后针对于我们这位同学的问题,我可以确切的告诉大家,程序中也会把IO口设置为输出上拉模式,硬件上确实是可以省掉这个上拉电阻的; (3)但是一般我们单片机内部的上拉都是弱上拉即上拉电阻比较大,其驱动动力较弱,所以外边的上拉电阻能不能省则主要取决于具体的应用 (4)比如说如果我们是按键输入,则没有任何问题,因为我们的按键是不存在驱动能力的问题,所以可以直接省掉,然后内部配置成上拉电阻 (5)针对于MCU等上下拉电阻的阻值选择原则 A.从功耗以及灌电流角度考虑,我们希望其功耗小,灌电流小,所以从这角度而言我们应该选择大电阻,因为电阻大则电流小。 B.从驱动能力而言我们希望其电阻小,因为电阻小则电流大则驱动能力强 C.对于高速电路,我们希望其上拉电阻不要太大,因为会使得边沿信号变缓 综合考虑以上三点,一般上下拉电阻都是在通常在1k到10k之间
|