查看: 914|回复: 1

[分享] 【MCXC444分享】搭建环境并驱动RGB灯

[复制链接]
  • TA的每日心情
    开心
    昨天 08:08
  • 签到天数: 1524 天

    连续签到: 2 天

    [LV.Master]伴坛终老

    152

    主题

    3206

    帖子

    31

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    8802
    最后登录
    2025-9-17
    发表于 2024-11-1 16:21:21 | 显示全部楼层 |阅读模式
    本帖最后由 TLLED 于 2024-11-1 16:20 编辑

    使用MDK开发环境,测试板卡上的RGB灯。


    一、下载软件包


    1.1、下载SDK包
    下载开发板对应的SDK包
    下载地址:https://www.nxp.com.cn/design/de ... resso-SDK#downloads
    001.png


    1.2、下载MCXC444芯片的pack包
    下载地址:https://mcuxpresso.nxp.com/cmsis ... 444_DFP.19.0.0.pack


    二、硬件


    RGB灯驱动端口部分电路图
    002.png
    003.png


    三、驱动程序


    3.1、led.c
    1. //led
    2. #include "fsl_gpio.h"
    3. #include "led/led.h"

    4. /* Define the init structure for the output LED pin*/
    5. gpio_pin_config_t rgbled_config = { kGPIO_DigitalOutput,0,};

    6. void init_led(void)
    7. {
    8.         GPIO_PinInit(LED_RGBLED_RED_PORT, LED_RGBLED_RED_PIN, &rgbled_config);
    9.         GPIO_PinInit(LED_RGBLED_GREEN_PORT, LED_RGBLED_GREEN_PIN, &rgbled_config);
    10.         GPIO_PinInit(LED_RGBLED_BLUE_PORT, LED_RGBLED_BLUE_PIN, &rgbled_config);

    11.         rgbled_red_off();
    12.         rgbled_green_off();
    13.   rgbled_blue_off();  
    14. }
    复制代码


    3.2、led.h
    1. #ifndef __LED_H
    2. #define __LED_H

    3. #define LED_RGBLED_RED_PORT  GPIOE
    4. #define LED_RGBLED_RED_PIN   31U  

    5. #define LED_RGBLED_GREEN_PORT  GPIOD
    6. #define LED_RGBLED_GREEN_PIN   5U  

    7. #define LED_RGBLED_BLUE_PORT  GPIOE
    8. #define LED_RGBLED_BLUE_PIN   29U  


    9. #define rgbled_red_on()                          GPIO_PortClear(LED_RGBLED_RED_PORT, 1u << LED_RGBLED_RED_PIN)  
    10. #define rgbled_red_off()             GPIO_PortSet(LED_RGBLED_RED_PORT, 1u << LED_RGBLED_RED_PIN)                           
    11. #define rgbled_red_tog()                  GPIO_PortToggle(LED_RGBLED_RED_PORT, 1u << LED_RGBLED_RED_PIN)

    12. #define rgbled_green_on()                         GPIO_PortClear(LED_RGBLED_GREEN_PORT, 1u << LED_RGBLED_GREEN_PIN)  
    13. #define rgbled_green_off()           GPIO_PortSet(LED_RGBLED_GREEN_PORT, 1u << LED_RGBLED_GREEN_PIN)                           
    14. #define rgbled_green_tog()          GPIO_PortToggle(LED_RGBLED_GREEN_PORT, 1u << LED_RGBLED_GREEN_PIN)

    15. #define rgbled_blue_on()                         GPIO_PortClear(LED_RGBLED_BLUE_PORT, 1u << LED_RGBLED_BLUE_PIN)  
    16. #define rgbled_blue_off()           GPIO_PortSet(LED_RGBLED_BLUE_PORT, 1u << LED_RGBLED_BLUE_PIN)                           
    17. #define rgbled_blue_tog()                  GPIO_PortToggle(LED_RGBLED_BLUE_PORT, 1u << LED_RGBLED_BLUE_PIN)

    18. void init_led(void);

    19. #endif /* __LED_H */
    复制代码


    3.3、main.c
    1. #include "pin_mux.h"
    2. #include "clock_config.h"
    3. #include "board.h"
    4. #include "fsl_debug_console.h"
    5. #include "fsl_gpio.h"

    6. #include "led/led.h"

    7. void delay(void)
    8. {
    9.     volatile uint32_t i = 0;
    10.     for (i = 0; i < 800000; ++i)
    11.     {
    12.         __asm("NOP"); /* delay */
    13.     }
    14. }

    15. void init_board(void)
    16. {
    17.         BOARD_InitPins();
    18.         BOARD_BootClockRUN();
    19.         BOARD_InitDebugConsole();
    20. }

    21. int main(void)
    22. {
    23.         init_board();
    24.         init_led();

    25.         PRINTF("\r\n GPIO Driver example\r\n");
    26.         PRINTF("\r\n The LED is blinking.\r\n");

    27.         while (1)
    28.         {
    29.                 delay();
    30.                 rgbled_red_on();
    31.                 rgbled_green_off();
    32.                 rgbled_blue_off();
    33.                 delay();
    34.                 rgbled_red_off();
    35.                 rgbled_green_on();
    36.                 rgbled_blue_off();
    37.                 delay();
    38.                 rgbled_red_off();
    39.                 rgbled_green_off();
    40.                 rgbled_blue_on();
    41.                 delay();
    42.                 rgbled_red_off();
    43.                 rgbled_green_off();
    44.                 rgbled_blue_off();
    45.         }
    46. }
    复制代码


    四、程序运行
    下载程序后,运行结果。
    rgb.gif
    哎...今天够累的,签到来了~
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2025-8-8 16:43
  • 签到天数: 1504 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    97

    主题

    4695

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    10112
    最后登录
    2025-9-17
    发表于 2024-11-1 19:55:00 | 显示全部楼层
    充分验证了开发环境
    赞一个
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-9-18 09:23 , Processed in 0.082627 second(s), 20 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表