在线时间902 小时
UID3067179
注册时间2014-10-23
NXP金币2975
TA的每日心情 | 开心 昨天 08:08 |
---|
签到天数: 1524 天 连续签到: 2 天 [LV.Master]伴坛终老
版主
  
- 积分
- 8802
- 最后登录
- 2025-9-17
|
本帖最后由 TLLED 于 2024-11-1 16:20 编辑
使用MDK开发环境,测试板卡上的RGB灯。
一、下载软件包
1.1、下载SDK包
下载开发板对应的SDK包
下载地址:https://www.nxp.com.cn/design/de ... resso-SDK#downloads
1.2、下载MCXC444芯片的pack包
下载地址:https://mcuxpresso.nxp.com/cmsis ... 444_DFP.19.0.0.pack
二、硬件
RGB灯驱动端口部分电路图
三、驱动程序
3.1、led.c
- //led
- #include "fsl_gpio.h"
- #include "led/led.h"
- /* Define the init structure for the output LED pin*/
- gpio_pin_config_t rgbled_config = { kGPIO_DigitalOutput,0,};
- void init_led(void)
- {
- GPIO_PinInit(LED_RGBLED_RED_PORT, LED_RGBLED_RED_PIN, &rgbled_config);
- GPIO_PinInit(LED_RGBLED_GREEN_PORT, LED_RGBLED_GREEN_PIN, &rgbled_config);
- GPIO_PinInit(LED_RGBLED_BLUE_PORT, LED_RGBLED_BLUE_PIN, &rgbled_config);
- rgbled_red_off();
- rgbled_green_off();
- rgbled_blue_off();
- }
复制代码
3.2、led.h
- #ifndef __LED_H
- #define __LED_H
- #define LED_RGBLED_RED_PORT GPIOE
- #define LED_RGBLED_RED_PIN 31U
- #define LED_RGBLED_GREEN_PORT GPIOD
- #define LED_RGBLED_GREEN_PIN 5U
- #define LED_RGBLED_BLUE_PORT GPIOE
- #define LED_RGBLED_BLUE_PIN 29U
- #define rgbled_red_on() GPIO_PortClear(LED_RGBLED_RED_PORT, 1u << LED_RGBLED_RED_PIN)
- #define rgbled_red_off() GPIO_PortSet(LED_RGBLED_RED_PORT, 1u << LED_RGBLED_RED_PIN)
- #define rgbled_red_tog() GPIO_PortToggle(LED_RGBLED_RED_PORT, 1u << LED_RGBLED_RED_PIN)
- #define rgbled_green_on() GPIO_PortClear(LED_RGBLED_GREEN_PORT, 1u << LED_RGBLED_GREEN_PIN)
- #define rgbled_green_off() GPIO_PortSet(LED_RGBLED_GREEN_PORT, 1u << LED_RGBLED_GREEN_PIN)
- #define rgbled_green_tog() GPIO_PortToggle(LED_RGBLED_GREEN_PORT, 1u << LED_RGBLED_GREEN_PIN)
- #define rgbled_blue_on() GPIO_PortClear(LED_RGBLED_BLUE_PORT, 1u << LED_RGBLED_BLUE_PIN)
- #define rgbled_blue_off() GPIO_PortSet(LED_RGBLED_BLUE_PORT, 1u << LED_RGBLED_BLUE_PIN)
- #define rgbled_blue_tog() GPIO_PortToggle(LED_RGBLED_BLUE_PORT, 1u << LED_RGBLED_BLUE_PIN)
- void init_led(void);
- #endif /* __LED_H */
复制代码
3.3、main.c
- #include "pin_mux.h"
- #include "clock_config.h"
- #include "board.h"
- #include "fsl_debug_console.h"
- #include "fsl_gpio.h"
- #include "led/led.h"
- void delay(void)
- {
- volatile uint32_t i = 0;
- for (i = 0; i < 800000; ++i)
- {
- __asm("NOP"); /* delay */
- }
- }
- void init_board(void)
- {
- BOARD_InitPins();
- BOARD_BootClockRUN();
- BOARD_InitDebugConsole();
- }
- int main(void)
- {
- init_board();
- init_led();
- PRINTF("\r\n GPIO Driver example\r\n");
- PRINTF("\r\n The LED is blinking.\r\n");
- while (1)
- {
- delay();
- rgbled_red_on();
- rgbled_green_off();
- rgbled_blue_off();
- delay();
- rgbled_red_off();
- rgbled_green_on();
- rgbled_blue_off();
- delay();
- rgbled_red_off();
- rgbled_green_off();
- rgbled_blue_on();
- delay();
- rgbled_red_off();
- rgbled_green_off();
- rgbled_blue_off();
- }
- }
复制代码
四、程序运行
下载程序后,运行结果。
|
|