2012-10-11 34 views
0

標題幾乎不言自明。當我寫入輸出比較寄存器(OC8RS或OC8R)時,會觸發外部中斷INT4引腳上的中斷。我正在使用PWM的Timer3 & OC8模塊。 INT4引腳連接到一個物理開關,當它被按下時,觸發一箇中斷。但是,當我爲我的PWM功能更新OC8RS寄存器時,從INT4觸發一箇中斷,這是沒有意義的(再次,因爲此引腳連接到物理開關 - 與PWM無關)。寫入OC8R/RS導致INT4意外觸發

我在猜測我沒有正確初始化,設置或清除某些內容,但我沒有想法。其他人有沒有?謝謝!

我使用的是PIC24HJ256GP610A處理器,以及最新的MPLAB v8和C30以及ICD3。

+0

在處理器的引腳圖中,OC8和INT4是否映射到相同的引腳?在沒有外設引腳選擇的情況下,功能可以在引腳上覆用。 –

+0

很棒的建議,但我已經檢查過了。兩個在不同的引腳上。看到下面我找到的「解決方案」... –

回答

0

我找到了解決方案。我將它設置爲輸出(TRISAbit15 = 0),而不是將INT4的三態位設置爲輸入(即TRISA = 1的第15位)。現在,這是沒有意義的,因爲正如我已經說過的,當按下時,我使用機械開關向INT4引腳發送一個脈衝,即輸入到MCU的信號。我將INT4引腳連接到10K上拉電阻,以使開關工作。

因此,將引腳/三態位設置爲輸出不再導致INT4中斷觸發。信號看起來比它應該更嘈雜,好像它與另一個信號「戰鬥」,但它現在工作正常。仍然困惑的是,當它接收輸入時,如何將這個引腳設置爲輸出...