嘗試使用PIC 18f4685獲得4x4鍵盤。PIC 18f和PORT-B
我已經開啓了弱拉ups。設置適當的引腳輸入/輸出,但是當我發送一個信號,我沒有回到位6 & 7.它只是得到零...
我試圖調試使用PicKit3,但似乎它使用RB7,並在該行的按鈕被按下時崩潰。當然,這告訴我,信號必須通過,到一定程度。
還有什麼特別的,我需要在配置PORT B設置?
一如既往......您的幫助非常感謝。
嘗試使用PIC 18f4685獲得4x4鍵盤。PIC 18f和PORT-B
我已經開啓了弱拉ups。設置適當的引腳輸入/輸出,但是當我發送一個信號,我沒有回到位6 & 7.它只是得到零...
我試圖調試使用PicKit3,但似乎它使用RB7,並在該行的按鈕被按下時崩潰。當然,這告訴我,信號必須通過,到一定程度。
還有什麼特別的,我需要在配置PORT B設置?
一如既往......您的幫助非常感謝。
由於EE網站這樣粗魯地關閉你之前,你可以得到一個答案,我想我會來這裏回答你的問題。
檢查第135頁上的表10-3,它列出了端口B引腳的所有功能。請注意,RB6和RB7也是調試引腳,所以我不會使用這些。
另外,你是否正在寫LATx並從PORTx讀取數據?在讀取和寫入同一端口時執行此操作非常重要。如果你讀寫PORTx,你可能會意外地從沒有足夠時間改變的輸出中讀取一個陳舊的值,而你的下一次寫操作會抹去你的預期值。這對於沒有LATx寄存器的PIC特別有害;任何操作,即使是像BSF/BCF這樣的按位操作,都會對ENTIRE端口寄存器執行讀 - 修改 - 寫操作,影響的不止是您打算修改的位。請參閱此EE問題的答案:https://electronics.stackexchange.com/questions/28744/interfacing-a-keypad-with-a-microcontroller
關於LATx寄存器的好處。 –
不確定您的原理圖(草圖可能有所幫助),但PIC GPIO中的常見錯誤不是將ADC寄存器設置爲數字輸入。它們作爲模擬輸入從復位中退出。
查看PIC18F4685 Datasheet中的寄存器說明19-2。
ADCON1
復位爲0x00。要設定所有模擬引腳到數字I/O,PCFG3:0
需要設置爲1。
ADCON1bits.PCFG = 0x0F;
我會用@Adam來回答這個問題,因爲這是一個常見的錯誤:) +1。 –
謝謝...我會仔細檢查一下。但是我認爲這實際上可能是一個硬件問題......焊點不好。重新流動並檢查ADCON1寄存器是否正確設置。 –
您也可以將配置位PBADEN置1以避免必須設置ADCON1。 – ajs410
您可以使用您的代碼來設置三態寄存器(TRISB)以及您如何閱讀。在按鈕按下之前和期間,您是否使用數字萬用表(DMM)檢查了輸入引腳上的電壓?他們是10美元,值得。
最後,你是否禁用了模擬引腳?在PIC24芯片你要做的:
AD1PCFG = 0xFFFF
之前的數字輸入讀取會工作。你的芯片可能是一樣的。
你能給我們你的芯片的EXACT型號嗎?
哪些引腳是輸入,哪些是輸出?假設RB4-7是輸入... – ajs410
謝謝大家對可能的配置問題的其他想法,以尋找。我設法讓它運行。 Ya,在調試過程中不能使用PicKit3,我的一個焊點很糟糕。你是最好的論壇!總是得到一個快速友好的迴應! –