我正在爲msp430做一個程序。MSP430問題,按鈕不關閉
單擊第一次按鈕時增量就會消失。按鈕釋放後它不會停止。
如何將增量限制爲每次點擊一次增量?
#include <msp430.h>
int main(void)
{
int i; //delay variable
int dimeRead=0;
int desired=1000;
volatile int total=0;
P1OUT=0; //Supposed to get rid of it hanging at the top
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
while(total<desired)
{
if((P1IN&0x16)!=0x16) // check if switch is pressed or not
{
dimeRead=dimeRead+1;
total=total + 10;
}
//Goal is to flip an out put on to turn on light when desired number is hit.
}
return 0;
}
你確定關於'0x16' ....我想你需要'0x08'或類似的東西。我的意思是0x16是二進制'10110',你可能想測試一個位。用'0x08',你可以只檢查位3,例如 – LPs
告訴我們你有哪個MSP430型號,以及你如何將按鈕連接到它。 –
信號去彈跳在哪裏?它是通過RC濾波器處理的嗎?如果沒有,你永遠不會得到這個代碼工作。你可能打算使用十進制掩碼16而不是十六進制0x16。不要使用,使用一個常量'#定義掩碼(1 << 4)// pin 4'。 – Lundin