请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430FR5994 您好!
我正在尝试将引脚(4.2)初始化为连接到低电平的输入引脚、但在配置之后、它仍然保持连接到高电平。 我使用计时器定期轮询引脚上的值、该值始终为4 (即 BIT2 = 1)、除非我使用跳线将该引脚接地、在这种情况下、打印的值为0。
有人能指出出什么问题吗? 下面随附了我的代码。
#include
#include
//全局变量
volatile int read = 0;
//
* main.c
*/
int main (void)
{
WDTCTL = WDTPW | WDTHOLD;//停止 WDT
//配置引脚
P4OUT = 0;
P4DIR =~BIT2; //将4.2设置为输入
P4REN = BIT2; //使能下拉电阻器4.2
PM5CTL0 &=~LOCKLPM5; //禁用 GPIO 上电默认高阻抗模式
//激活先前配置的端口设置
//设置计时器 A0
TA0CCTL0 = CCIE; //启用 CCR0中断
TA0CTL = tassel__ACLK | MC_1; //使用的时钟为 ACLK、向上计数模式(0到 TA0CCR0)
TA0CCR0 = 65535;
_enable_interrupt ();
printf ("TestProgram Start:\n");
while (1);
}
#pragma vector = TIMER0_A0_vector;
__interrupt void Timer_A0 (void){
P1OUT ^= BIT0;
读取= P4IN;
printf ("输入:%d\n"、读取);
}
谢谢、
John
