#冲刺创作新星#FFHBearpi-Micro深入解析通过JS应用控制LED灯

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#冲刺创作新星#FFHBearpi-Micro深入解析通过JS应用控制LED灯相关的知识,希望对你有一定的参考价值。

(目录)

一、前言

最近跑了一遍Bearpi-Micro编写点亮LED灯程序的Demo,深入了解了如何在开发板上运行一个控制LED灯的程序,达到能关闭灯、开启灯以及翻转灯的状态,南向如何编写JS API接口提供驱动服务给北向应用使用。突发奇想,发现了官方给出的点灯应用中的一个不足,并进行优化。 参考文章:编写通过JS应用控制LED灯

二、(南向)深入解析通过JS应用控制LED灯

1.前提

请确保已经完成编写一个点亮LED灯程序实验,因为本实验将依赖编写一个点亮LED灯程序实验中开发的驱动,以下教程篇幅较长,请耐心仔细阅读。

2.JS API接口开发

注:以下代码为主要代码的剖析,详细完整的代码可查看参考文章编写通过JS应用控制LED灯

(1)添加控制LED灯的JS API接口

修改foundation\\ace\\ace_engine_lite\\frameworks\\src\\core\\modules\\app_module.h,加入toggleLed JS API,

static JSIValue ToggleLed(const JSIValue thisVal, const JSIValue* args, uint8_t argsNum);

("##start##"和"##end##"仅用来标识位置,添加完配置后删除这两行)。

void InitAppModule(JSIValue exports)

    JSI::SetModuleAPI(exports, "getInfo", AppModule::GetInfo);
    JSI::SetModuleAPI(exports, "terminate", AppModule::Terminate);
##start##
    JSI::SetModuleAPI(exports, "ledcontrol", AppModule::ToggleLed);
##end##
#ifdef FEATURE_SCREEN_ON_VISIBLE
    JSI::SetModuleAPI(exports, "screenOnVisible", AppModule::ScreenOnVisible);
#endif

解析:在头文件中封装好JS API接口函数。 提供给北向的接口名为:==ledcontrol== ,南向业务代码函数为==ToggleLed== 。

(2)编写控制LED灯c++ 业务代码

在foundation\\ace\\ace_engine_lite\\frameworks\\src\\core\\modules\\app_module.cpp中加入控制LED灯c++ 业务代码 注:以下代码仅为部分重要代码

                 主函数ToggleLed将会调用的GpioWriteRead函数

以上是关于#冲刺创作新星#FFHBearpi-Micro深入解析通过JS应用控制LED灯的主要内容,如果未能解决你的问题,请参考以下文章

#冲刺创作新星# #跟着小白一起学鸿蒙# [八] 蓝牙应用

#冲刺创作新星#一起学做鸿蒙“羊了个羊”

#冲刺创作新星#基于OpenHarmony的家居安防系统

#冲刺创作新星# #跟着小白一起学鸿蒙# [十二]简单Http客户端

#冲刺创作新星# #跟着小白一起学鸿蒙# [七] 写个NAPI子系统

#冲刺创作新星# O了个H(OpenHarmony羊了个羊复刻学习)