![]() |
發(fā)布時間: 2022-11-29 11:15
正文摘要:51單片機(jī)芯片有一個GPIO口,上拉正常3.3V,下拉正常0V,但是如果先上拉,延時1ms,再下拉,再延時1ms,就是這樣:while(1) {P0_0 = 0; Delay_ms(1); P0_0 = 1; Delay_ms(1); } ... |
這種東西要結(jié)合硬件電路才能分析,單單給出一段程序,是不能精準(zhǔn)分析原因的。 |
這個很明顯是驅(qū)動能力不夠,有三角波輸出證明IO輸出正常,現(xiàn)在連1變0都緩慢就不是IO設(shè)置的問題了,明顯是驅(qū)動能力不夠,很可能是IO接了一個大于104的電容造成。 |
驅(qū)動能力不夠,可以加達(dá)林頓管試試 |
即使是最古老的8031,在ms級別的延時下也不可能是這樣的波形,除非后級負(fù)載有問題,假如是STC單片機(jī),直接設(shè)置為推挽輸出,應(yīng)該是可以解決問題的。 |
型號也沒有說明白,怎么幫你 |
電路和用詞問題,看代碼并不是上拉,下拉,只是置高,置低而已,上拉,下拉是電路名詞,代碼是P0口,估計外部電路沒接上下拉電阻或引腳內(nèi)部沒設(shè)置對 |
該上的沒上去,該下的沒下去,也就是上升下降時間過長(斜率過小),就體現(xiàn)出這個IO口的驅(qū)動能力不足。如果把延時調(diào)長,應(yīng)該就能上去也能下來了。如果你配置IO不是推挽輸出的話,可以配置成推挽輸出試試。 |
分析問題,不單是代碼,還要給出硬件電路原理圖. |
驅(qū)動能力問題,硬件有沒有電阻上拉 3V3? |
頂一下 |
Powered by 單片機(jī)教程網(wǎng)