GPIO初始化时输出已经设为推挽输出,为什么还要设置上拉?

Answer1:

你所做的配置IO, 只是把你想要的写在一结构体, 而最终库函数根据这结构体配置寄存器
在输出口的配置时, 结构体里的上下拉字段, 是不会被库函数所理会的,而因为结构体要共用于输入输出的配置, 必须有上下拉这一字段, 你却为了这一没意义的字段费心, 没这必要

Answer2:

GPIO_Init函数里明显是有这个上下拉配置的,并没有针对这个输入输出模式的if字段。
就电路分析的角度来看,复用推挽输出模式下无论是上拉还是下拉都不会影响其原本配置的电平输出。
而在开漏输出模式下,其高电平输出的实际电平却由外部的上下拉决定,类似于TTL门电路的漏极开路输出,而低电平输出的实际电平与复用推挽一致,不被外部的上下拉影响,恒为低电平。

 

所以结论是,不用管,上拉就上拉吧?

对于跑马灯来说,初始化上拉就是初始时想默认让灯不亮吧。

 

posted @ 2020-05-22 17:07  中年二班  阅读(4424)  评论(0编辑  收藏  举报