请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430F5529 工具/软件:Code Composer Studio
我很难解决一个非常基本的问题。 我已经介绍了用户指南和示例、但我无法确定如何解决我的问题。 我在 MSP430F5529上有一个 GPIO 引脚配置为输入、当输入为低电平时、输出会发生变化。 我希望输出在信号变高时发生变化。 以下是配置:
P2DIR &=~BIT5;//复位信号硬件中断 P2OUT |= BIT5;//内部电阻器上拉 P2REN |= BIT5;//电阻器使能 P2IES |= BIT5;//中断边沿选择、1 =高电平到低电平、0 =低电平到高 电平// P2IFG &=~BIT5; //中断使能 P2IE |中断5
#define EXT_INPUT P2IN 和 BIT5
我有一个函数根据这里的读数控制输出:
if (EXT_INPUT){//JP7引脚4将用作触发输入
、前提是(event = detected")
{
if (consecpass++>2)//如果有三个或更多通道、则通过打开绿色和关闭红色
来指示有一个样本{
green_LED_ON;
red_LED_OFF;
consecfail=0;
}
}
if (event==not detected){
if (consecfail++>3 && CONSECFAIL <35)
{
RED_LED_OFF;
GREEN_LED_ON;
CONSECPASS=0;
}
if (CONSECFAIL >35){
RED_LED_ON;
GREEN_LED_OFF;
}
if (CONSECPASS>30000)//用于指示设备是否仍在运行,以防止设备发生故障。
{
CONSECPASS=3;}
if (CONSECFAIL>30000)//用于防止翻滚,并在设备静止时指示故障。
{
CONSECFAIL=3;
}}}}否则
{
CONSECPASSEN=0;
CONSECFAIL=0;
RED_LED_ON;
GREE_LED_ON;
}
我尝试将 EXT_INPUT 定义更改为~BIT4、这会将输出保持在 IF 条件、而不考虑输入。 当我具有 if (EXT_INPUT=0)或=1时、器件保持在 ELSE 状态。 我出了什么问题?