本帖最后由 suncat0504 于 2024-7-6 11:23 编辑
按照习惯,使用Keil建立FRDM-MCXN947的开发环境。从恩智浦的官网下载SDK包,启动Led-Blink工程,修改工程代码。 开发板上有一个D2,是红、绿、蓝三色发光管。分别使用P0_10、P0_27、P1_2三个GPIO口。在Led-Blink例程中,只是初始化了红色LED的口,我这里为了测试红绿LED交替显示,加入了绿色LED的初始化代码。初始化函数BOARD_InitPins在pin_mux.c中。由于和红色LED使用相同的Port,所以在初始化中增加的代码比较少,只有下面一句, // Green LED 口初始化 PORT_SetPinConfig(PORT0, 27U, &port0_10_pinB12_config); 然后在主程序中的SysTick_Handler函数中增加: LED_GREEN_TOGGLE(); 在main函数中在LED_RED_INIT(LOGIC_LED_OFF);之后增加 LED_GREEN_INIT(LOGIC_LED_ON); 使用LOGIC_LED_ON,是为了保证初始化时LED是亮的,和红色的相反,这样在SysTick_Handler中执行TOGGLE处理时,保证红色LED和绿色LED交替显示。否则,同时显示后,就变成了红、绿的混色。 相关的电路如下: LED部分: 主程序如下:
程序编译后,下载执行,效果如下:
|