如何在 KL27 + NxH3670 SDK 中添加新的 service

在使用 KL27 + NxH3670 SDK 的时,会遇到需要在工程中添加新的外设,今天这一篇博文就以在 SDK 工程中添加 KL27 的外设 Uart2,让它在服务开启后定时的通过 Uart2 去进行数据发送。

在本次演示中,我们使用的 SDK 包是 SDK-Gaming-Rev8.0_public(下载地址:https://www.nxp.com.cn/search?keyword=nxh3670&start=0)。

首先我们在 service 中添加新的文件,新建的这个 Uart2_service.c 可以复制 nvm.c 的内容,然后在这个基础上进行修改。



在drivers 中新建 Test_Uart2.c,这里面存放对 Uart2 的配置函数。



新建好文件后我们就可以开始修改具体的内容,首先修改用于服务的 API 结构体,将其名字修改为 g_Uart2ServiceApi,并对服务状态进行初始化。



接下来去修改对应的 API,主要是初始化部分,需要对 Uart2 的进行初始化。其他的服务 API 修改对应的状态标志就可以了。



Uart2 的初始化函数放在 Test_Uart2.c 中,但是还需要在此之前进行对应的引脚的配置。



引脚配置如下:



这些都完成了后,可以把新建的服务添加到 app.c 中的 appMain 函数里面,在启动时对 Uart2 这个服务进行注册。



服务添加好了,接下来就使用 SDK 中添加定时器的方式,让 Uart2 实现定时发送数据,首先在 Uart2_service.c 中的初始化 API 中添加定时器的初始化。



定时器中我们定时 500 毫秒,定时器的回调函数 test_Uart2_services 如下。



在 test_Uart2_services 中的 Uart2_send,就是我们最终调用的发送数据的函数,在演示中,这里我们发送的数据如下。



回调函数写好后,还需要有定时器的启动函数:



最后我们把定时器的启动函数添加到 app.c 中的 static void APP_Start 函数里。



完成以上步骤后,进行编译并下载到 SDK 板上查看效果,过串口工具连接 KL27的 PD3 引脚,在通过电脑的串口打印助手,可以看到在服务启动后,Uart2 会定时 500 毫秒去发送工程中我们定义好的数据。





这样我们就完成了在 SDK 中添加了一个新的服务,可以使用这个 Uart2 的服务与外部设备进行通讯,可以通过本次服务添加的过程为参考,去添加其他的服务,例如可以添加一些使用 I2C 或者 SPI 通讯的 sensor,在添加的过程中遇到问题欢迎留言一起讨论。

参考资料:

[1] UM11150 user manual            — NxH3670 SDK board; 2019, NXP Semiconductors

[2] NXH3670UK                              — NxH3670  data sheet; 2019, NXP Semiconductors

[3] KL27P64M48SF2                       — KL27 data sheet; 2019, NXP Semiconductors

 

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论