工具/软件:Code Composer Studio
大家好
我刚刚开始使用 MSP430FR5994 Launchpad。
我也是 C 编程的新手、但是、我遵循了一些代码示例、并成功运行了一些代码、打开和关闭或闪烁一些 LED 等等。
此外、我还配置了其中一个 GPIO 引脚、以使用下面显示的代码触发中断、从而打开和关闭其中一个 LED。
但是、我意识到中断服务例程与 GPIO 触发一起执行的速度非常慢。 打开和关闭按钮后、LED 需要1秒以上的时间才能打开和关闭。
这非常不方便。 CPU 延迟为 I/O 外设提供服务。
因此,我决定将这个问题提交论坛,看看其他人以前是否遇到过类似的情况。
有人可以为我提供一些帮助吗? 可能是代码中的一个配置我丢失了...!
#include
void main (void)
{
WDTCTL = WDTPW + WDTHOLD;//停止看门狗计时器
PM5CTL0 &=~LOCKLPM5;//禁用 GPIO 上电默认高阻抗模式以激活先前配置的端口设置
P1DIR |= 0x01;//将 P1.0设置为输出方向
P1IE |= 0x10;// P1.4中断被启用
P1IES |= 0x10;// P1.4高/低边沿
P1IFG &=~0x10;// P1.4 IFG 被清零
_BIS_SR (LPM4_BITS + GIE);//输入 LPM4并进行中断
}
//端口1中断服务例程
#pragma vector=Port1_vector
_interrupt void Port_1 (void)
{
P1OUT ^= 0x01;// P1.0 =切换
P1IFG &=~0x10;// P1.4 IFG 被清零
}
感谢大家花时间阅读这篇文章、
LONI