想了解更多开源内容请访问:,前言最近跑了Bearpi-Micro写程序的demo点亮LED灯。学会了在开发板上跑一个程序控制LED灯,实现关灯、开灯、翻转灯的状态。南方向怎么样?编写JSAPI接口,为北向应用提供驱动服务。一时兴起,发现了官方灯光应用的不足之处,并进行了优化。参考文章:编写通过JS应用控制LED灯2.(南向)深度解析通过JS应用控制LED灯。点亮LED灯程序实验开发的驱动程序,以下教程比较长,请耐心阅读。2.JSAPI接口开发注:以下代码为主要代码解析。详细完整代码参考参考文章编写通过JS应用控制LED灯。(1)添加控制LED灯的JSAPI接口修改foundation\ace\ace_engine_lite\frameworks\src\core\modules\app_module.h并添加toggleLedJSAPI。静态JSIValueToggleLed(constJSIValuethisVal,constJSIValue*args,uint8_targsNum);(“##start##”和“##end##”仅用于标识位置,添加配置后删除这两行)。voidInitAppModule(JSIValueexports){JSI::SetModuleAPI(exports,"getInfo",AppModule::GetInfo);JSI::SetModuleAPI(导出,“终止”,AppModule::Terminate);##start##JSI::SetModuleAPI(导出,“ledcontrol”,AppModule::ToggleLed);##end###ifdefFEATURE_SCREEN_ON_VISIBLEJSI::SetModuleAPI(exports,"screenOnVisible",AppModule::ScreenOnVisible);#endif}分析:在头文件API接口函数中封装JS。提供给北向的接口名称为ledcontrol,南向业务代码的功能为ToggleLed。(2)编写控制LED灯的c++业务代码在foundation\ace\ace_engine_lite\frameworks\src\core\modules\app_module.cpp中添加控制LED灯的c++业务代码注:以下代码仅为部分重要代码。ToggleLed主函数会调用的GpioWriteRead函数
