请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
部件号:MSP430I2031 尊敬的先生:
我正在使用msp430I2031 IC
我想实施两个按钮减少键(基于中断)弹跳问题
如果有示例,请帮助我
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
尊敬的先生:
我正在使用msp430I2031 IC
我想实施两个按钮减少键(基于中断)弹跳问题
如果有示例,请帮助我
嗨,Hiren,
请尝试使用Code Composer Studio资源资源管理器以获取特定于设备的代码示例。
这是为FR5969编写的-因此您可能必须调整端口。 此代码用于在按下端口4.5 上的Button1时打开端口4.6 LED1,释放后关闭端口。
我对这一点没有任何意见。 否则,您可以设置最短的退回时间,并在每次调用中断时将其与计时器进行比较。
有关详细信息,请访问 :www.ganssle.com/debouncing-pt2.htm
#include <MSP430-h>
void InitializePins (void);
int main (void)
{
WDTCTL = WDTPW | WDTHOLD; //停止WDT
PM5CTL0 &=~LOCKLPM2 5;
InitializePins();
__bis_sr_register (LPM0_bits + GIE); //输入LPM0 w/ interrupt
__no_operation(); //用于调试器
}
void InitializePins(void)
{
P4DIR &= 0x00;
P4OUT &= 0x00;
P4DIR ||(BIT5 + BIT6); //作为输出
P4OUT |= BIT5; //上拉模式
P4REN |= BIT5; //启用上拉
P4IE |= BIT5;
P4IES |= BIT5;
P4IFG &=~ BIT5;
}//
Timer0_A0中断服务例程
#pragma vector = Port4_vector
__interrupt void Port_4(void){
P4OUT ^= BIT6;
P4IES ^= BIT5; //切换上升+下降边缘
P4IFG &=~BIT5;
}