您好,
我正在尝试使 P1.1上的定制板上的 LED 闪烁,而我的中断引脚是 P2.2。 因此、我的主要目标是打开 LED 并保持打开、直到中断出现。 此外,当我要检查中断时,我还将手动为 P2.2提供+5V 信号。
LED -> P1.1
中断引脚 -> P1.2
此代码未显示错误。但不知怎么说、这不起作用、您能帮助我解决这个问题吗?
这是我尝试过的代码
#include "driverlib.h"
#include
void main (void){
WDT_A_HOLD (WDT_A_base);
PMM_unlockLPM5 ();
//FRCTL0 = FRCTLPW | NWAITS_1;
//CS_setExternalClockSource (XT1CLK_FREQUENCY)(CS_DCORSEL_1、CS_DCOFSEL_4);
//配置时钟时间,因为中断应在中断调用中调用。
// CS ACLK 用于 clk,vloclk 用于 VLO,默认情况下 CS 时钟分频器为1
// MCLK 用于其它 MCLK,我已经完成了可选的操作。
CS_initClockSignal (CS_ACLK、CS_VLOCLK_select、CS_clock_divider);
CS_initClockSignal (CS_MCLK、CS_VLOCLK_select、CS_clock_divider);
//将 P1.1设置为输出、将 P1.2设置为中断引脚
GPIO_setAsInputPin (GPIO_PORT_P1、GPIO_PIN1);
//首先禁用中断,然后再启用中断
GPIO_DisableInterrupt (GPIO_PORT_P1、GPIO_PIN2);
//如果最初有中断标志,则清除所有中断标志
GPIO_clearInterrupt (GPIO_PORT_P1、GPIO_PIN2);
//希望中断在正边沿或负边沿上意味着什么
GPIO_selectInterruptEdge (GPIO_PORT_P1、GPIO_PIN2、GPIO_LOW_TO_HIGH_TRANSITION);
GPIO_enableInterrupt (GPIO_PORT_P1、GPIO_PIN2);//此处启用中断
_enable_interrupt ();//启用中断
while (1)
{
}
}
//现在从这里开始中断服务例程,在其中完成要执行的中断任务,但由于一些电源建议,它不会切换我们想要的 LED
#pragma vector = Port1_vector;
_interrupt void Port_1 (void)
{
GPIO_toggleOutputOnPin (GPIO_PORT_P1、GPIO_PIN1);
GPIO_clearInterrupt (GPIO_PORT_P1、GPIO_PIN2);
//如果我们没有清除中断,而不是相应交换机上的电源关闭,那么无论更改如何,它也将保持在中断中
}