03 2025 档案
摘要:根据开发者学院的描述,本节课程主要是了解NCS应用程序的结构,了解它们彼此之间的关系以及他们之间如何相互作用。 其中一些概念性的内容需要看官方的描述,我这里只对主要内容做一些总结。 最小应用程序文件结构 app/ |-- CMakeLists.txt |-- Kconfig |-- prj.conf
阅读全文
摘要:今天学习GPIO中断控制LED.一般来说外部中断的使用步骤分为:引脚配置,中断配置,编写中断回调,开启中断。 配置中断引脚 ret = gpio_pin_interrupt_configure_dt(&button, GPIO_INT_EDGE_TO_ACTIVE); 定义回调函数 void but
阅读全文
摘要:接下来就要在LED闪灯的基础上来实现按键控制LED的开关。 在源代码侧面需要做以下几个修改: 1. 通过 别名 获取设备树的一个button节点 #define SW0_NODE DT_ALIAS(sw0) 2. 通过节点获取一个 gpio 的实例 static const struct gpio_
阅读全文
摘要:从这张图可以看到Zephyr 设备驱动模型可以分为4层: APP应用 API接口 设备驱动实例 设备驱动实现 可以看出,在 nRF Connect SDK 中,驱动程序与 API 是高度解耦的。这基本上意味着我们能够在不修改应用程序的情况下切换出低级驱动程序实现,因为使用的是相同的通用 API。 这
阅读全文
摘要:在第一课中学习了如何安装NCS开发环境,以及如何新建一个工程,还有如何构建和下载到开发板。并运行了官方的LED闪烁例程。 设备树 我们继续跟着官方开发者学院的教程来学习第二课的课程。官方课程包含了以下几个知识点: 设备树 设备驱动模型 GPIO的通用API 个人觉得设备树应该算一个难点,因为对于没有
阅读全文