#冲刺创作新星#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灯的主要内容,如果未能解决你的问题,请参考以下文章
#冲刺创作新星# #跟着小白一起学鸿蒙# [十二]简单Http客户端