请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:LP-MSPM0G3507 主题中讨论的其他器件:MSPM0G3507、
工具与软件:
尊敬的所有人:
我不熟悉微控制器编程领域、开始在 Launchpad 上对 MSPM0G3507进行编程。 我想通过该 Launchpad 上的按钮 S1来打开 RGB LED LED2。 在本例中、我使用了代码示例"spi_controller_echo_interrupts"中的一部分、其中通过中断发送消息并为此进行了修改。 问题是、当我按下按钮时没有任何反应。 你是否知道我的错误可能是什么? 这是我的 main 文件的副本。 如需更多信息、请联系我。
#include "ti_msp_dl_config.h"
/*假设32MHz CPU_CLK、这将导致大约0.5s 的延迟*/
#define 延迟(16000000)
void turnonled (void);
volatile uint8_t help = 0;
int main (void)
{
/*为 GPIO 上电、将引脚初始化为数字输出*/
SYSCFG_DL_init ();
NVIC_EnableIRQ (GPIO_Button_INT_IRQN);
// Clear Pin (清除引脚)和 Set Pin (设置引脚)命令行
DL_GPIO_clearPins (GPIO_LEDS_PORT、 GPIO_LEDS_USER_LED_1_PIN 和 GPIO_LEDS_USER_LED_2_PIN 和 GPIO_LEDS_USER_LED_3_PIN);
//DL_GPIO_setPins (GPIO_LEDS_PORT、GPIO_LEDS_USER_LED_2_PIN | GPIO_LEDS_USER_TEST_PIN);
while (1)
{
__ WFI();
if (help =1)
{
turnonled();
}
}
}
void GROUP1_IRQHandler (void)
{
switch (DL_Interrupt_getPendingGroup (DL_INTERRUPT_GROUP_1)){
案例 GPIO_Button_INT_IIDX:
开关(DL_GPIO_getPendingInterrupt(GPIO_BUTON_PORT )){
GPIO_IDX_INDET_IIDX 案例 Button_User_:
/*按下 SWITCHS_USER_SWITCH_1时、启动数据传输*/
帮助= 1;
休息;
默认值:
休息;
}
休息;
默认值:
休息;
}
}
void turnonled (void)
{
DL_GPIO_setPins (GPIO_LEDS_PORT、GPIO_LEDS_USER_LED_1_PIN | GPIO_LEDS_USER_TEST_PIN);
}