Answer1:
你所做的配置IO, 只是把你想要的寫在一結構體, 而最終庫函數根據這結構體配置寄存器
在輸出口的配置時, 結構體里的上下拉字段, 是不會被庫函數所理會的,而因為結構體要共用於輸入輸出的配置, 必須有上下拉這一字段, 你卻為了這一沒意義的字段費心, 沒這必要
Answer2:
GPIO_Init函數里明顯是有這個上下拉配置的,並沒有針對這個輸入輸出模式的if字段。
就電路分析的角度來看,復用推挽輸出模式下無論是上拉還是下拉都不會影響其原本配置的電平輸出。
而在開漏輸出模式下,其高電平輸出的實際電平卻由外部的上下拉決定,類似於TTL門電路的漏極開路輸出,而低電平輸出的實際電平與復用推挽一致,不被外部的上下拉影響,恆為低電平。
所以結論是,不用管,上拉就上拉吧?
對於跑馬燈來說,初始化上拉就是初始時想默認讓燈不亮吧。