NXP JN5169使用代码模板新建外设工程


一、下载工程模板

BeyondStudio for NXP不提供直接新建JN516x工程的功能,需要在官网下载工程模板。

现在我们要新建的是仅实现外设功能的工程,不需要ZigBee 3.0协议栈那么的复杂功能,所以这里我们下载的是基于IEEE 802.15.4协议的工程模板。

在这里插入图片描述
这里我们下载的是JN-AN-1174工程模板,选择JN-AN-1174是因为该工程模板简单,方便修改。

在这里插入图片描述

下载地址:IEEE 802.15.4应用笔记

二、导入工程

① 解压JN-AN-1174-JN516x-802-15-4-Application-Template到BeyondStudio的默认工作空间C:\NXP\bstudio_nxp\workspace

在这里插入图片描述

② 打开BeyondStudio for NXP,点击菜单栏的File > Import

在这里插入图片描述

③ 选择General下的Existing Projects into Workspace,然后点击Next

在这里插入图片描述
④ 选择Select root directory,点击Browse…

在这里插入图片描述

⑤ 选择工作空间中之前解压出来的文件夹,点击确定

在这里插入图片描述

⑥ 勾选工程,点击Finish

在这里插入图片描述

⑦ 工程已成功导入到BeyondStudio for NXP中了。

在这里插入图片描述

三、修改工程模板

① 右键单击工程,选择Copy

在这里插入图片描述

② 再次单击右键,选择Paste

在这里插入图片描述

③ 给复制的工程重新命名,例如:JN516x-DIOs-Demo,单击OK

在这里插入图片描述

可以看到,复制过来的工程除了工程名不一样之外,其他都是一样的

在这里插入图片描述

④ 修改文件

1)、删除AN1174_154_EndD文件夹
2)、删除Doc文件下的JN-AN-1174-IEEE802.15.4-App-Template.pdf文件,这个文件夹存放的是说明文档
3)、展开AN1174_154_Coord文件下的Source文件夹,删除AN1174_154_Coord.c,Source文件夹存放的是c源程序。
4)、AN1174_154_Coord重命名为DIOs_Demo
5)、展开Common文件夹下的Source文件夹,修改config.h,该文件用来存放定义,如下图:

在这里插入图片描述

6)、这样就建好了一个空白的工程模板,如下图
在这里插入图片描述

四、根据工程模板新建一个DIO工程

① 展开DIOs_Demo文件下的Source文件夹,右键单击Source文件夹,新建Main.c文件

在这里插入图片描述

在这里插入图片描述
在Main.c中键入代码:

#include <AppHardwareApi.h>
#include <AppQueueApi.h>
#include "config.h"

/*函数声明*/
PRIVATE void vLedsInit(void);
PRIVATE void vBtnsInit(void);
PRIVATE void vCbSysCtrl(uint32 u32Device, uint32 u32ItemBitmap);

PUBLIC void AppColdStart (void)
{
	vAHI_WatchdogStop();
	(void)u32AHI_Init();

    vLedsInit();
    vBtnsInit();

    while (1) {
        vAHI_CpuDoze();                                                /* Doze                          */
    }
}

PUBLIC void AppWarmStart (void)
{
    AppColdStart();
}

/*代码示例*/
PRIVATE void vLedsInit (void)
{
    vAHI_DioSetDirection(0, LED_DIO);
    vAHI_DioSetPullup(LED_DIO, 0);
}

PRIVATE void vBtnsInit (void)
{
    vAHI_DioSetDirection(BTN_DIO, 0);
    vAHI_DioSetPullup(BTN_DIO, 0);
    vAHI_DioInterruptEdge(0, BTN_DIO);                                   /* 下降沿触发                    */
    vAHI_DioInterruptEnable(BTN_DIO, 0);
    vAHI_SysCtrlRegisterCallback(vCbSysCtrl);
}

PRIVATE void vCbSysCtrl (uint32 u32Device, uint32 u32ItemBitmap)
{
    PRIVATE bool_t bLedState = FALSE;
    bLedState = !bLedState;
    bLedState ? LED_ON(LED_DIO) : LED_OFF(LED_DIO);
}

② 展开Common文件下的Source文件夹,打开config.h文件,输入以下代码,DIO定义:

#define BTN_DIO                 ((1 << 0) | (1 << 1) | (1 << 2) | (1 << 3) | \
                                 (1 << 4) | (1 << 5) | (1 << 8) | (1 << 9) | \
                                 (1 << 10) | (1 << 11))
#define LED2                    (1 <<  7)
#define LED3                    (1 <<  6)
#define LED4                    (1 << 12)
#define LED5                    (1 << 13)
#define LED6                    (1 << 16)
#define LED8                    (1 << 17)
#define LED_DIO                 (LED2 | LED3 | LED4 | LED5 | LED6 | LED8)

#define LED_ON(Led)             vAHI_DioSetOutput(0, Led)
#define LED_OFF(Led)            vAHI_DioSetOutput(Led, 0)

③ 修改后的工程如下:

在这里插入图片描述

④ 展开DIOs_Demo文件下的Build文件夹,修改该文件夹下的Makefile文件:
1)TARGET名称要和c源文件所在的文件名称一致
2)芯片名称为JN5169
3)SDK看你安装了哪个SDK,安装4170就写4170,安装4168就写4168

在这里插入图片描述
路径定义,这个不用改:

在这里插入图片描述

上图的路径定义已定义APP_SRC_DIR,添加要参与编译的c文件,APPSRC += AppQueueApi.c 该行不可删除,有多个c文件就添加多行,例如:
APPSRC += a.c
APPSRC += b.c
APPSRC += c.c

在这里插入图片描述

⑤ 修改Properties,选择工程,选择菜单栏的Project > Properties

在这里插入图片描述
选择C/C++ Build,更改Build Location下的Build directory,单击workspace,这个是选择Makefile文件所在的文件夹

在这里插入图片描述
选择DIOs_Demo文件下的Build文件夹,点击OK

在这里插入图片描述

勾选Use default build command

在这里插入图片描述
设置编译工具,展开C/C++ Build,选择Tool Chain Editer,Current toolchain必须选择BA ELF GNU toolchain,点击OK

在这里插入图片描述

⑥ 构建工程,右键单击工程,选择Clean Project,先Clean再Build

在这里插入图片描述

控制台输出:

在这里插入图片描述
刷新工程:

在这里插入图片描述
⑦ 至此,一个关于DIO外设工程已经建好,并构建成功
如何下载工程到JN5169设备:NXP JN5169下载器原理图(带按键)

可以保存该工程模板,然后可以用于构建其他外设工程,例如ADC、UART、SPI、I2C等等外设。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菠萝蚊鸭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值