查看: 326|回复: 0

[评测分享] 【Avnet | NXP FRDM-MCXN947试用活动】新板第一事——点灯

[复制链接]
  • TA的每日心情
    开心
    2023-7-5 11:08
  • 签到天数: 120 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2024-11-17 18:44:56 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 qintian0303 于 2024-11-17 18:47 编辑

          我们在得到一个新的开发板后,第一件事情就是点灯了,这个可以说是比不过去的一环,可能很多朋友都会说,这么简单的事情不用做了,直接上强度。我想说的是完事开头难,在遇到一个新的开发板,新的开发环境的时候,这一步使我们踏出的第一步,不能少。
          实际上点灯的操作是非常的简单的,板载的LED基本上都是通过普通的IO口操作就能实现控制,这也是单片机最简单的控制。
          我们先看一下板载的LED情况,板载的可控LED是一个三色的RGB,原理图如下:
    1.png

          我们在之前的demo程序中加入这几个引脚的控制,在IDE中打开配置工具:
    2.png

          我们在引脚中添加三个IO的控制:
    3.png

          更新源码:
    4.png
           接下来我们可以写一写LED的控制程序,这里的我们实现的是RGB三色灯的循环点亮,通过延时的方式实现,先写一下简单的延时程序:
    1. void Delay(unsigned int ms)
    2. {
    3.     int i=0,j=0;
    4.     for(i=0;i<ms;i++)
    5.         for(j=14400;j>0;j--);
    6. }
    复制代码
         然后是在while中的循环控制,这里我们引用了两个变量进行逻辑判断:
    1. uint8_t LED_state = 0;
    2. uint8_t LED_Oldstate = 0;

    3. while (1)
    4.     {
    5.         Delay(1000);
    6.         LED_state++;
    7.         if(LED_state != LED_Oldstate)
    8.         {
    9.             LED_Oldstate = LED_state;
    10.             LED_BLUE_OFF();
    11.             LED_GREEN_OFF();
    12.             LED_RED_OFF();
    13.             switch(LED_Oldstate%3)
    14.             {
    15.             case 0:
    16.                 LED_RED_ON();
    17.                 break;
    18.             case 1:
    19.                 LED_GREEN_ON();
    20.                 break;
    21.             case 2:
    22.                 LED_BLUE_ON();
    23.                 break;
    24.             default:
    25.                 break;
    26.             }
    27.         }
    28.     }
    复制代码
          其实对于板载的一些资源,在board.h中已经有了一些基本定义,我们是可以直接使用的,下面就是一些简单的效果:
    1 (1).gif

    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

    手机版|小黑屋|与非网

    GMT+8, 2024-12-24 02:26 , Processed in 0.106744 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.