查看: 1832|回复: 1

[分享] 【MCX先手尝鲜】点灯

[复制链接]
  • TA的每日心情
    开心
    5 小时前
  • 签到天数: 528 天

    连续签到: 23 天

    [LV.9]以坛为家II

    21

    主题

    854

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2317
    最后登录
    2025-7-27
    发表于 2024-1-23 20:27:23 | 显示全部楼层 |阅读模式
    俗语说,学会点灯,就入门了50%,今天偿试学习点灯。
    1、打开SDK目录下的gipo示例,复制一份,重命名一下.
    复制工程文件夹.png
    2、打开目录下面的工程
    与STM32等工程不同,nxp的入口函数main不是在main.c里,而是在source目录下面的.c文件里。
    main.png
    3、工程里有给出了红色LED灯的示例。我们这里选择点亮另外的两个灯(如果能点三个灯,那不是入门99%)。打开原理图,找到板载的RGB灯的IO,如下图所示,另两个LED灯连接到了P3_2,P3_3,这与我们在使用STM32的命令规则也是不相同的,与英飞凌的有点类似,但是他们的命名规则不同,其最后的换算也是P0对应PA,P3对应PC差不多,有一些也就以3*32+pin的组合来定位IO对应的地址来实现寄存器的配置。
    RGB对应IO.png
    4、在board.h中,官方的库已经对三个LED灯进行了宏定义
    RGB宏定义.png
    5、经过查看示例,对GPIO的输出初始化需要三步,一、使能GPIO端口的时钟,二、配置GPIO的输出模式(虽然我没有查看GPIO的的原理图,根据以往的经验狂猜的)。三、配置对应的IO与端口。我在main中添回对另两个LED灯的初始的代码:
    1. void GB_LED_Init(void)
    2. {
    3. /* 定义GPIO输出 LED pin*/
    4.     gpio_pin_config_t led_config = {
    5.         kGPIO_DigitalOutput,
    6.         0,
    7.     };
    8.     /* 使能P3端口的时钟 */
    9.     CLOCK_EnableClock(kCLOCK_Gpio3);
    10.                
    11.                 /* 初始化LED. 即P3_3 P3_2 */
    12.     GPIO_PinInit(GPIO3, 3U | 2U, &led_config);
    13.                
    14. }
    复制代码
    6、同时在while中添加对灯的开与关的寄存器的操作代码:
    1.   /* 初始化另外两个LED */
    2.                 GB_LED_Init();
    3.     while (1)
    4.     {
    5.         delay();
    6.         GPIO_PortToggle(BOARD_LED_GPIO, 1u << BOARD_LED_GPIO_PIN);
    7.                                 //关
    8.                                 GPIO3->PCOR = GPIO_FIT_REG(1UL << 2U);
    9.                                 GPIO3->PCOR = GPIO_FIT_REG(1UL << 3U);
    10.                        
    11.                                 //开
    12.                                 delay();
    13.                                 GPIO3->PSOR = GPIO_FIT_REG(1UL << 2U);
    14.                                 GPIO3->PSOR = GPIO_FIT_REG(1UL << 3U);
    15.     }
    复制代码
    7、下载,我们按照版主大佬提供的ISP下载方法把USB烧录,与blhsot.exe拷进MDK目录,并修改对应的路径与.hex的名称,下载到开发板就可以看到RGB灯在闪烁了。
    哎...今天够累的,签到来了~
    回复

    使用道具 举报

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

    连续签到: 1 天

    [LV.10]以坛为家III

    152

    主题

    3146

    帖子

    31

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    8652
    最后登录
    2025-7-27
    发表于 2024-1-23 21:17:51 | 显示全部楼层
    不错,跑起来了
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-27 12:26 , Processed in 0.116671 second(s), 20 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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