LPC845-BRK开发板运行Blinky示例程序
LPC845-BRK开发板是价格低于6美元的微型开发板,上面带有一颗ARM Cortex-M0 +。本篇文章主要介绍如何使用MCUXpresso IDE开发blinky示例程序。
在恩智浦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。
适用于LPC845的SDK
启动IDE(您可以使用默认工作区)并通过拖放操作将SDK(zip文件)导入到“Installed SDKs”视图中:
适用于LPC845的SDK
新建项目
创建一个新项目:
创建新项目
选择LPC845,然后按Next:
LPC845
在Device package选择LPC845M301JBD48。因为我们将使用GPIO作为电路板上的LED,所以请确保包含此驱动程序。然后按完成:
SDK向导
这样,我们就有一个Blinky的项目:
创建的Blinky项目
LED引脚
接下来,我们为电路板上的LED配置引脚。从原理图中我们得到这些信息:
● PIO1_0连接绿色灯
● PIO1_1连接蓝色灯
● PIO1_2连接红色灯
LPC845-BRK上的GPIO RGB LED引脚
引脚需要复用为GPIO输出引脚。选择项目并打开“引脚”工具:
打开引脚工具
将PIO1_0、PIO1_1和PIO1_2配置为GPIO引脚。最简单的方法是双击GPIO单元格条目:
配置的LED GPIO引脚
将标识符添加到引脚,例如LEDG、LEDB和LEDR。我们将在代码中使用为引脚创建的#defines:
引脚的标识符
Update项目的修改的内容改更新源:
更新项目
它会要求确认更改。按确定。
更新项目
切换回Develop Perspective。
Develop Perspective
所有设置都存储在.mex文件中。我可以稍后双击该文件再次打开设置:
EX文件
更新时钟
对于LED,我们使用GPIO端口1,我们必须首先取消时钟,否则GPIO引脚将无法工作。
将以下内容添加到#include:
- <font size="3" face="微软雅黑">#include "fsl_gpio.h" </font>
复制代码 添加以下代码以取消时钟:
- <font size="3" face="微软雅黑">GPIO_PortInit(GPIO, 1); /* ungate the clocks for GPIO_1 */</font>
复制代码取消GPIO 1
配置GPIO引脚
接下来,我们必须将GPIO引脚配置为输出引脚,其初始值为HIGH(1)。将以下配置添加到您的代码中:
- <font size="3" face="微软雅黑">/* configuration for LOW active GPIO output pin */
- static const gpio_pin_config_t configOutput = {
- kGPIO_DigitalOutput, /* use as output pin */
- 1, /* initial value */
- };</font>
复制代码 并使用该配置初始化所有引脚:
- <font size="3" face="微软雅黑">/* initialize pins as output pins */
- GPIO_PinInit(BOARD_INITPINS_LEDR_GPIO, BOARD_INITPINS_LEDR_PORT, BOARD_INITPINS_LEDR_PIN, &configOutput);
- GPIO_PinInit(BOARD_INITPINS_LEDG_GPIO, BOARD_INITPINS_LEDG_PORT, BOARD_INITPINS_LEDG_PIN, &configOutput);
- GPIO_PinInit(BOARD_INITPINS_LEDB_GPIO, BOARD_INITPINS_LEDB_PORT, BOARD_INITPINS_LEDB_PIN, &configOutput);
- </font>
复制代码 请注意,我在先前在引脚工具中定义的宏中使用了标识符(LEDG、LEDB和LEDR)。
GPIO Init Pins
延迟
要减慢LED闪烁,请在代码中添加延迟函数:
- <font size="3" face="微软雅黑">static void delay(void) {
- for(int i=0;i<100000;i++) {
- __asm("nop");
- }
- }</font>
复制代码延迟函数
Blinky代码
最后,向应用程序添加一些Blinky代码。下面的代码将打开和xi每个led,延迟介于:
- <font size="3" face="微软雅黑">for(;;) { /* blinky, blinky, blinky! */
- /* red */
- GPIO_PortClear(BOARD_INITPINS_LEDR_GPIO, BOARD_INITPINS_LEDR_PORT, 1<<BOARD_INITPINS_LEDR_PIN); /* turn on */
- delay();
- GPIO_PortSet(BOARD_INITPINS_LEDR_GPIO, BOARD_INITPINS_LEDR_PORT, 1<<BOARD_INITPINS_LEDR_PIN); /* turn off */
-
- /* green */
- GPIO_PortClear(BOARD_INITPINS_LEDG_GPIO, BOARD_INITPINS_LEDG_PORT, 1<<BOARD_INITPINS_LEDG_PIN); /* turn on */
- delay();
- GPIO_PortSet(BOARD_INITPINS_LEDG_GPIO, BOARD_INITPINS_LEDG_PORT, 1<<BOARD_INITPINS_LEDG_PIN); /* turn off */
-
- /* blue */
- GPIO_PortClear(BOARD_INITPINS_LEDB_GPIO, BOARD_INITPINS_LEDB_PORT, 1<<BOARD_INITPINS_LEDB_PIN); /* turn on */
- delay();
- GPIO_PortSet(BOARD_INITPINS_LEDB_GPIO, BOARD_INITPINS_LEDB_PORT, 1<<BOARD_INITPINS_LEDB_PIN); /* turn off */
- } </font>
复制代码Blinky Code
构建和调试
是时候构建,然后在连接板的情况下调试它:
构建和调试
将主板连接到主机后,IDE会自动识别开发板:
发现调试器
按确定,调试器正在加载代码:
调试开发板
总结
虽然LPC845-BRK开发板还没有专门的SDK,但是为它创建一个非常简单易用的应用程序。 使用恩智浦MCUXpresso SDK、IDE和配置工具,只需在应用程序代码中使用几行即可使用开发板上的LED或任何GPIO引脚。
作者:阿哲 文章出处:点击
|