查看: 1323|回复: 2

[分享] 【MCX-N947分享】-03-点亮一个LED灯

[复制链接]
  • TA的每日心情
    开心
    2024-9-13 10:02
  • 签到天数: 297 天

    连续签到: 1 天

    [LV.8]以坛为家I

    34

    主题

    3513

    帖子

    38

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    6097

    活跃会员

    最后登录
    2025-9-23
    发表于 2024-7-5 09:20:49 | 显示全部楼层 |阅读模式
    本帖最后由 xiaoshen-372360 于 2024-8-6 11:24 编辑

       

        说实话,自己建工程真的很费劲不知道为什么,下载的程序没法运行,然后各种报错,所以我就直接在原来的基础上做修改,点亮一个LED灯,看了原来的代码真的是太复杂了,所以这里就做了简化,初始化了三个RGB的引脚,然后按照自己的编码进行了组合,我们先来看看效果,感觉还挺不错的,

    具体代码实现如下:
    1. ///*
    2. // * Copyright 2019 NXP
    3. // * All rights reserved.
    4. // *
    5. // * SPDX-License-Identifier: BSD-3-Clause
    6. // */

    7. //#include "pin_mux.h"
    8. //#include "peripherals.h"
    9. //#include "board.h"

    10. ///*******************************************************************************
    11. // * Definitions
    12. // ******************************************************************************/
    13. //#define BOARD_LED_GPIO     BOARD_LED_RED_GPIO
    14. //#define BOARD_LED_GPIO_PIN BOARD_LED_RED_GPIO_PIN

    15. ///*******************************************************************************
    16. // * Prototypes
    17. // ******************************************************************************/

    18. ///*******************************************************************************
    19. // * Variables
    20. // ******************************************************************************/

    21. ///*******************************************************************************
    22. // * Code
    23. // ******************************************************************************/
    24. //void SysTick_Handler(void)
    25. //{
    26. //    /* Toggle pin connected to LED */
    27. //    GPIO_PortToggle(BOARD_LED_GPIO, 1u << BOARD_LED_GPIO_PIN);
    28. //}

    29. ///*!
    30. // * @brief Main function
    31. // */
    32. //int main(void)
    33. //{
    34. //    /* Board pin init */
    35. //    CLOCK_EnableClock(kCLOCK_Gpio0);
    36. //    BOARD_InitPins();
    37. //    BOARD_BootClockFRO12M();
    38. //    /* Initialize the systick module. */
    39. //    SysTick_Config(12000000UL);
    40. //    LED_RED_INIT(LOGIC_LED_OFF);

    41. //    while (1)
    42. //    {
    43. //                        
    44. //                        
    45. //                        
    46. //    }
    47. //}


    48. #include "pin_mux.h"
    49. #include "peripherals.h"
    50. #include "board.h"

    51. #include "fsl_common.h"
    52. #include "fsl_port.h"
    53. #include "fsl_spc.h"
    54. #include "fsl_gpio.h"


    55. void LED_Init(void)
    56. {
    57.     CLOCK_EnableClock(kCLOCK_Port0);
    58.           CLOCK_EnableClock(kCLOCK_Port1);
    59.         
    60.         
    61.           CLOCK_EnableClock(kCLOCK_Gpio0);
    62.           CLOCK_EnableClock(kCLOCK_Gpio1);

    63.                                                                                                                                                                                                                         
    64.                 gpio_pin_config_t GPIO0_Pin_10={kGPIO_DigitalOutput,0,},GPIO0_PIN_27={kGPIO_DigitalOutput,0,},GPIO1_PIN_2={kGPIO_DigitalOutput,0,};                        

    65.                 GPIO_PinInit(GPIO0,10, &GPIO0_Pin_10)        ;        
    66.                 GPIO_PinInit(GPIO0,27, &GPIO0_PIN_27)        ;        
    67.                 GPIO_PinInit(GPIO1,2 , &GPIO1_PIN_2)        ;                                                                                                                        
    68. }



    69. void Delay(unsigned int ms)
    70. {
    71.         int i=0,j=0;
    72.         for(i=0;i<ms;i++)
    73.                 for(j=15000;j>0;j--);
    74. }

    75. void LedTest(unsigned int Status)
    76. {
    77. switch(Status)
    78. {
    79.         case 0:
    80.      {
    81.                    GPIO_PinWrite(GPIO0,10,1);
    82.                          GPIO_PinWrite(GPIO0,27,1);
    83.                          GPIO_PinWrite(GPIO1, 2,1);
    84.                  }break;
    85.         case 1:
    86.      {
    87.                            GPIO_PinWrite(GPIO0,10,0);
    88.                           GPIO_PinWrite(GPIO0,27,1);
    89.                           GPIO_PinWrite(GPIO1, 2,1);
    90.                  }break;
    91.                          case 2:
    92.      {
    93.                            GPIO_PinWrite(GPIO0,10,1);
    94.                           GPIO_PinWrite(GPIO0,27,0);
    95.                           GPIO_PinWrite(GPIO1, 2,1);
    96.                  }break;
    97.                 case 3:
    98.      {
    99.                           GPIO_PinWrite(GPIO0,10,1);
    100.                          GPIO_PinWrite(GPIO0,27,1);
    101.                          GPIO_PinWrite(GPIO1, 2,0);
    102.                  }break;
    103.         case 4:
    104.      {
    105.                            GPIO_PinWrite(GPIO0,10,0);
    106.                           GPIO_PinWrite(GPIO0,27,0);
    107.                           GPIO_PinWrite(GPIO1, 2,1);
    108.                  }break;
    109.                          case 5:
    110.      {
    111.                            GPIO_PinWrite(GPIO0,10,1);
    112.                           GPIO_PinWrite(GPIO0,27,0);
    113.                           GPIO_PinWrite(GPIO1, 2,0);
    114.                  }break;
    115.                 case 6:
    116.      {
    117.                           GPIO_PinWrite(GPIO0,10,0);
    118.                          GPIO_PinWrite(GPIO0,27,1);
    119.                          GPIO_PinWrite(GPIO1, 2,0);
    120.                  }break;
    121.         case 7:
    122.      {
    123.                           GPIO_PinWrite(GPIO0,10,0);
    124.                          GPIO_PinWrite(GPIO0,27,0);
    125.                          GPIO_PinWrite(GPIO1, 2,0);
    126.                  }break;
    127.                  
    128.                  
    129.     default:
    130.      {                          
    131.                          GPIO_PinWrite(GPIO0,10,0);
    132.                          GPIO_PinWrite(GPIO0,27,0);
    133.                          GPIO_PinWrite(GPIO1, 2,0);
    134.                  
    135.                  }break;
    136. }

    137. }
    138. int main(void )
    139. {
    140.         
    141.         unsigned int Seq=0;
    142.         BOARD_BootClockPLL150M();
    143.           LED_Init();
    144.         
    145.                 while(1)
    146.                 {
    147.                         Seq++;
    148.                         if(Seq>=8)
    149.                           Seq=0;
    150.                         LedTest(Seq);
    151.       Delay(1000);
    152.                 }
    153. }

    复制代码
    欢迎大家一起玩哦!



    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    半小时前
  • 签到天数: 1762 天

    连续签到: 3 天

    [LV.Master]伴坛终老

    23

    主题

    1万

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    16149
    最后登录
    2025-10-1
    发表于 2024-7-5 12:37:19 | 显示全部楼层
    666        
    跟着日天混,三天饱九顿!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    3 小时前
  • 签到天数: 1662 天

    连续签到: 8 天

    [LV.Master]伴坛终老

    26

    主题

    2万

    帖子

    0

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    11153

    活跃会员

    最后登录
    2025-10-1
    发表于 2024-7-5 15:03:51 | 显示全部楼层
    不容易啊,晚上回去抄一下
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-10-1 13:01 , Processed in 0.089541 second(s), 21 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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