查看: 2456|回复: 1

[分享] LPC845-BRK开发板运行Blinky示例程序

[复制链接]
  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3298

    主题

    6545

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32003
    最后登录
    2024-4-9
    发表于 2020-2-20 15:09:28 | 显示全部楼层 |阅读模式
    LPC845-BRK开发板运行Blinky示例程序


    LPC845-BRK开发板是价格低于6美元的微型开发板,上面带有一颗ARM Cortex-M0 +。本篇文章主要介绍如何使用MCUXpresso IDE开发blinky示例程序。
    18.png
    在恩智浦LPC845-BRK开发板上运行Binky

    安装MCUXpresso IDE和SDK


    本文需要一下硬件和软件:


    ●    恩智浦LPC845-BRK开发板


    ●    恩智浦MCUXpresso IDE


    ●    适用于LPC845的恩智浦MCUXpresso SDK




    首先从http://www.nxp.com/mcuxpresso/ide下载NXP MCUXpresso IDE,然后使用默认选项进行安装。




    转到http://mcuxpresso.nxp.com/,并选择LPC845 SDK(目前还没有适用于该开发板的SDK)。我建议您使用所有可用的软件组件配置SDK。
    19.png
    适用于LPC845的SDK




    启动IDE(您可以使用默认工作区)并通过拖放操作将SDK(zip文件)导入到“Installed SDKs”视图中:
    20.png
    适用于LPC845的SDK




    新建项目


    创建一个新项目:
    21.png
    创建新项目




    选择LPC845,然后按Next:
    22.png
    LPC845




    在Device package选择LPC845M301JBD48。因为我们将使用GPIO作为电路板上的LED,所以请确保包含此驱动程序。然后按完成:
    23.png
    SDK向导



    这样,我们就有一个Blinky的项目:
    24.png
    创建的Blinky项目




    LED引脚


    接下来,我们为电路板上的LED配置引脚。从原理图中我们得到这些信息:


    ●    PIO1_0连接绿色灯


    ●    PIO1_1连接蓝色灯


    ●    PIO1_2连接红色灯
    25.png
    LPC845-BRK上的GPIO RGB LED引脚




    引脚需要复用为GPIO输出引脚。选择项目并打开“引脚”工具:
    27.png
    打开引脚工具




    将PIO1_0、PIO1_1和PIO1_2配置为GPIO引脚。最简单的方法是双击GPIO单元格条目:
    28.png
    配置的LED GPIO引脚




    将标识符添加到引脚,例如LEDG、LEDB和LEDR。我们将在代码中使用为引脚创建的#defines:
    29.png
    引脚的标识符




    Update项目的修改的内容改更新源:
    30.png
    更新项目


    它会要求确认更改。按确定。
    31.png
    更新项目




    切换回Develop Perspective。
    32.png
    Develop Perspective




    所有设置都存储在.mex文件中。我可以稍后双击该文件再次打开设置:
    34.png
    EX文件




    更新时钟


    对于LED,我们使用GPIO端口1,我们必须首先取消时钟,否则GPIO引脚将无法工作。


    将以下内容添加到#include:
    1. <font size="3" face="微软雅黑">#include "fsl_gpio.h" </font>
    复制代码
    添加以下代码以取消时钟:
    1. <font size="3" face="微软雅黑">GPIO_PortInit(GPIO, 1); /* ungate the clocks for GPIO_1 */</font>
    复制代码
    35.png
    取消GPIO 1


    配置GPIO引脚


    接下来,我们必须将GPIO引脚配置为输出引脚,其初始值为HIGH(1)。将以下配置添加到您的代码中:
    1. <font size="3" face="微软雅黑">/* configuration for LOW active GPIO output pin */
    2. static const gpio_pin_config_t configOutput = {
    3. kGPIO_DigitalOutput,  /* use as output pin */
    4. 1,  /* initial value */
    5. };</font>
    复制代码
    并使用该配置初始化所有引脚:
    1. <font size="3" face="微软雅黑">/* initialize pins as output pins */
    2. GPIO_PinInit(BOARD_INITPINS_LEDR_GPIO, BOARD_INITPINS_LEDR_PORT, BOARD_INITPINS_LEDR_PIN, &configOutput);
    3. GPIO_PinInit(BOARD_INITPINS_LEDG_GPIO, BOARD_INITPINS_LEDG_PORT, BOARD_INITPINS_LEDG_PIN, &configOutput);
    4. GPIO_PinInit(BOARD_INITPINS_LEDB_GPIO, BOARD_INITPINS_LEDB_PORT, BOARD_INITPINS_LEDB_PIN, &configOutput);
    5. </font>
    复制代码
    请注意,我在先前在引脚工具中定义的宏中使用了标识符(LEDG、LEDB和LEDR)。
    36.png
    GPIO Init Pins

    延迟


    要减慢LED闪烁,请在代码中添加延迟函数:
    1. <font size="3" face="微软雅黑">static void delay(void) {
    2.   for(int i=0;i<100000;i++) {
    3.     __asm("nop");
    4.   }
    5. }</font>
    复制代码
    37.png
    延迟函数


    Blinky代码


    最后,向应用程序添加一些Blinky代码。下面的代码将打开和xi每个led,延迟介于:
    1. <font size="3" face="微软雅黑">for(;;) { /* blinky, blinky, blinky! */
    2.   /* red */
    3.   GPIO_PortClear(BOARD_INITPINS_LEDR_GPIO, BOARD_INITPINS_LEDR_PORT, 1<<BOARD_INITPINS_LEDR_PIN); /* turn on */
    4.   delay();
    5.   GPIO_PortSet(BOARD_INITPINS_LEDR_GPIO, BOARD_INITPINS_LEDR_PORT, 1<<BOARD_INITPINS_LEDR_PIN);  /* turn off */

    6.   /* green */
    7.   GPIO_PortClear(BOARD_INITPINS_LEDG_GPIO, BOARD_INITPINS_LEDG_PORT, 1<<BOARD_INITPINS_LEDG_PIN); /* turn on */
    8.   delay();
    9.   GPIO_PortSet(BOARD_INITPINS_LEDG_GPIO, BOARD_INITPINS_LEDG_PORT, 1<<BOARD_INITPINS_LEDG_PIN);  /* turn off */

    10.   /* blue */
    11.   GPIO_PortClear(BOARD_INITPINS_LEDB_GPIO, BOARD_INITPINS_LEDB_PORT, 1<<BOARD_INITPINS_LEDB_PIN); /* turn on */
    12.   delay();
    13.   GPIO_PortSet(BOARD_INITPINS_LEDB_GPIO, BOARD_INITPINS_LEDB_PORT, 1<<BOARD_INITPINS_LEDB_PIN);  /* turn off */
    14. } </font>
    复制代码
    38.png
    Blinky Code


    构建和调试


    是时候构建,然后在连接板的情况下调试它:
    39.png
    构建和调试


    将主板连接到主机后,IDE会自动识别开发板:
    40.png
    发现调试器


    按确定,调试器正在加载代码:
    41.png
    调试开发板




    总结


    虽然LPC845-BRK开发板还没有专门的SDK,但是为它创建一个非常简单易用的应用程序。 使用恩智浦MCUXpresso SDK、IDE和配置工具,只需在应用程序代码中使用几行即可使用开发板上的LED或任何GPIO引脚。




    作者:阿哲                             文章出处:点击

    签到签到
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2024-1-29 10:43
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    4

    主题

    620

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1333
    最后登录
    2024-4-19
    发表于 2023-8-17 12:45:30 | 显示全部楼层
    0817.png 第一天
    每一天都很累
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-4-19 13:32 , Processed in 0.124774 second(s), 21 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

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