迅为RK3568开发板篇OpenHarmony实操HDF驱动控制LED-编写应用APP

发布时间:2025-2-6 10:21    发布者:就是塔塔
在应用代码中我们实现如下功能:
当应用程序启动后会获取命令行参数。如果命令行没有参数,LED 灯将循环闪烁;如果命令行带有参数,则根据传输的参数控制 LED 灯的开启或关闭。通过 HdfIoServiceBind 绑定 LED灯的 HDF 服务,获取 HDF 空间缓存区,并向该缓冲区写入控制数据。然后,通过 LED_WRITE 命令将数据发送到 HDF 驱动,从而控制 LED 灯的亮灭。在程序结束时,会回收 HDF 空间缓冲区和 HDF 服务。
接下来编写应用测试文件 led_test.c,完整代码如下所示。
1.jpg
接下来编写应用 APP 的 GN 文件 BUILD.gn,代码内容如下所示:
2.jpg
上面的代码用于构建一个“led_test”的可执行文件的构建脚本,它使用了 GN(Generate Ninja)构建系统,这是一种元构建系统,用于生成 Ninja 构建文件。
 1-2 行定义了两个变量 HDF_FRAMEWORKS 和 HDF_ADAPTER,它们分别指向 HDF(HardwareDriver Foundation,硬件驱动框架)核心框架和适配器的路径。这些路径是相对于项目根目录的。
 4-5 行 使用 import 语句导入两个 GNI(GN Include)文件。GNI 文件是 GN 构建系统用来包含变量定义、函数和模板的文件。这里导入的文件可能包含了一些预定义的变量、函数或构建规则,用于支持构建过程。//build/ohos.gni 可能包含了 OpenHarmony 特有的构建配置,而$HDF_ADAPTER/uhdf2/uhdf.gni 可能包含了与 uHDF(Unified Hardware Driver Framework,统一硬件驱动框架)相关的配置。
 7 行 打印一条消息到控制台,表明正在编译 led_test 示例。
 9-40 行 定义一个名为 led_test 的 ohos_executable 目标,这是一个构建规则,用于生成一
个可执行文件。下面是该目标的具体配置:
sources:指定源文件列表,这里只有一个文件 led_test.c。
include_dirs:指定头文件搜索路径列表。这些路径用于在编译时查找包含的文件(#include指令引用的文件)。这些路径包括了 HDF 框架、适配器的多个子目录,以及一些第三方库和内部工具库的头文件路径。
external_deps:指定外部依赖项列表。这些依赖项是在构建过程中需要链接的库。这里列出了几个库,如 c_utils:utils、hdf_core:libhdf_platform 等,这些库提供了构建 led_test 所需的功能。
cflags:指定传递给 C 编译器的标志列表。这里包括了一些常见的编译选项,如-Wall(打开所有警告)、-Wextra(打开额外警告)、-Werror(将所有警告视为错误)、以及两个用于关闭特定警告的选项。
part_name:指定构建产物所属的部件名称,这里是 demos。
install_enable:设置为 true,表示构建产物应该被安装。这可能意味着在构建成功后,led_test可执行文件会被复制到某个特定的目录,以便于执行或分发。

本文地址:https://www.eechina.com/thread-881382-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

  • Microchip视频专区
  • 安静高效的电机控制——这才是正确的方向!
  • 基于CEC1712实现的处理器SPI FLASH固件安全弹性方案培训教程
  • 无线充电基础知识及应用培训教程2
  • 了解一下Microchip强大的PIC18-Q24 MCU系列
  • 贸泽电子(Mouser)专区
关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表