请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TM4C123GE6PM 主题中讨论的其他器件:TM4C123
工具/软件:Code Composer Studio
您好!
我正在尝试使用 Tiva C 来检测来自输入信号的上升沿、我正在尝试使用循环来实现这一点。
我遇到了循环变量问题、我尝试 通过用二进制值将输入引脚固定在循环的读取状态、但是、我不确定我是否正确执行了该操作。
以下是我正在使用的变量:
#define Pind 0x00000010 #define SIGANLIN_PIN GPIO_PIN_4
这里是我用来检测上升沿和下降沿的环路:
如果(pulsevalue!= 0)
{
UARTprintf ("检测到的脉冲数"\n);
//这将使脉冲能够被读取
SafteyCountdown ();//将使 LED 闪烁,以显示程序将开始运行
while (1){
最后= 0;
现在= Pind &(1< 0){
BPM ++;//上升沿,执行某项操作
GPIOPinWrite (GPIO_Porta_base、GPIO_PIN_3 | GPIO_PIN_0、GPIO_PIN_3);//需要输出到高电平引脚
}
其他
{
//需要输出到低电平引脚
GPIOPinWrite (GPIO_Porta_base、GPIO_PIN_0 | GPIO_PIN_3、GPIO_PIN_0);
}
Last = Now;//下次通过时记住状态
} //End of Now != Last
} // while 结束
UARTprintf ("中断传导\n");
// InterruptEnable();
}
其他
{
//如果不存在脉冲,这将允许程序以相同的方式运行
UARTprintf ("未检测到脉冲\n");
SafteyCountdown ();//将使 LED 闪烁,以显示程序将开始运行
// InterruptEnable();
while (1){
现在= Pind &(1< 0){
BPM ++;//上升沿,执行某项操作
GPIOPinWrite (GPIO_Porta_base、GPIO_PIN_3 | GPIO_PIN_0、GPIO_PIN_3);//需要输出到高电平引脚
}
其他
{
//需要输出到低电平引脚
GPIOPinWrite (GPIO_Porta_base、GPIO_PIN_0 | GPIO_PIN_3、GPIO_PIN_0);
}
}
Last = Now;//下次通过时记住状态
} //End of Now != Last
} // while 结束
UARTprintf ("中断传导\n");