msp430不进中断处理函数!弄了一天了,烦死人啊!UART都能进它自己的中断,这个port口中断不知道怎么回事

msp430不进中断处理函数!弄了一天了,烦死人啊!UART都能进它自己的中断,这个port口中断不知道怎么回事,第1张

P13的中断设置问题,如下:
在void Key_init(void)中的第一句,
P1DIR |= BIT3; //打开上拉,电路板上没有上拉电阻,触发边沿是从高电平到低电平
这里是把IO直接置低阻,而非打开上拉。作为按键输入口,这样设置是不符合阻抗匹配的,严重时会引起IO口的损坏。

正确设置如下:
void Key_init(void)
{
P1REN |= BIT3; // 使能P13端口电阻
P1OUT |= BIT3; // 设置P13端口电阻为上拉(如果该位置低,则设置成下拉电路)
P1IES |= BIT3; //选择触发边沿,下降沿触发
P1IE |= BIT3; //打开P13的中断
P1IFG &= 0x00;
}

其实不建议你这样做,因为MSP430的内部上拉下拉电阻都非常大,阻抗输入很高,只适合无距离的低速信号传递,不然容易引起干扰
简单个一个例子,如果你用内部电阻作为上拉,并且你的按键是通过引线连接到 *** 作面板上,则会出现误动作,当有干扰源在附近时,按键的连接线会作为天线不断干扰IO,所以建议设计一个可靠的外部上拉电阻。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/12189308.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存