關(guān)于CH582M 的GPIO PORTB , PIN8 和 PIN17 用作輸入的問題

在最新的evt的uart的demo中, 初始化了幾個(gè)io口,作為按鍵使用,?

? GPIOB_ModeCfg(GPIO_Pin_0, GPIO_ModeIN_PU);? //上拉輸入 按鍵1


? ? GPIOB_ModeCfg(GPIO_Pin_1, GPIO_ModeIN_PU);? //上拉輸入 按鍵2


? ? GPIOB_ModeCfg(GPIO_Pin_2, GPIO_ModeIN_PU);? //上拉輸入 按鍵3


? ? GPIOB_ModeCfg(GPIO_Pin_3, GPIO_ModeIN_PU);? //上拉輸入 按鍵4


? ? GPIOB_ModeCfg(GPIO_Pin_8, GPIO_ModeIN_PU);? //上拉輸入 按鍵5


? ? GPIOB_ModeCfg(GPIO_Pin_5, GPIO_ModeIN_PU);? //上拉輸入 按鍵6


? ? GPIOB_ModeCfg(GPIO_Pin_6, GPIO_ModeIN_PU);? //上拉輸入 按鍵7


? ? GPIOB_ModeCfg(GPIO_Pin_17, GPIO_ModeIN_PU);? //上拉輸入 按鍵8


但是不管是加載高電平還是低電平, GPIO_Pin_8,GPIO_Pin_17這2個(gè)腳的讀數(shù)都是0,不正常; 其他的管腳是正常的,難道是這2個(gè)腳的用法有問題?是什么原因呢?

您好,您這個(gè)寫法是沒有問題的,IO配置為上拉輸入后,該IO就會(huì)被設(shè)置為默認(rèn)高電平;

檢查下硬件上芯片焊接,地有沒有充分接觸,另外芯片引腳有無連錫或者虛焊的情況


我換了一個(gè)開發(fā)板, 也是這種情況,然后我再EVT的TMR例程中單獨(dú)初始化pin17, 也是這種情況, 我用的是最新的EVT, 附件是我的代碼;幫我看看是什么問題, 多謝了

icon_rar.gifTMR.rar



您程序中定義的tmp變量應(yīng)使用uint32_t定義,我們的GPIOB_ReadPortPin函數(shù)返回的是一個(gè)32位數(shù)據(jù)

代表含義為每一個(gè)bit對(duì)應(yīng)一個(gè)IO引腳,假設(shè)PB8為高電平,則第9個(gè)bit置1,那么返回值就是256,超出你的uint8_t定義,那么返回值一定為0。


明白了, 多謝


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频