完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
轻应用:可运行在轻量级嵌入式设备上的JavaScript应用(左图)
轻应用框架:封装了JavaScript引擎和API接口,用于支持轻应用开发的软件框架(右图) 特点
丰富的组件支持 基础组件
一个最精简的轻应用包由最少两个文件组成,必须放在项目文件夹的根目录 app/ ├── app.js # 业务逻辑入口 └── app.json # 全局配置 开发流程
轻应用 vs Native C/C++应用 app.js - 轻应用入口文件 示例代码 App({ onLaunch: function() { // 第一次打开 console.log('app onLaunch'); }, onError: function() { // 出现错误 console.log('app onError'); }, onExit: function() { // 退出轻应用 console.log('app onExit'); } }); 轻应用入口 App(Object options) App() 用于注册轻应用,接受一个 Object 作为属性,用来配置轻应用的生命周期等。 App() 必须在 app.js 中调用,必须调用且只能调用一次。 其中options属性有:
生命周期 onLaunch() 轻应用启动时的hook函数。 onError() 轻应用出现错误的hook函数。 onExit() 轻应用退出时的hook函数。 app.json - 全局配置文件 app.json 用于对轻应用进行全局配置,设置页面文件的路径、硬件I/O口的配置等。 以下是一个基本配置示例: { "version": "0.0.1", "io": { "D1": { "type": "GPIO", "port": 31, "dir": "output", "pull": "pullup" }, "D2": { "type": "GPIO", "port": 32, "dir": "output", "pull": "pullup" }, "D3": { "type": "GPIO", "port": 33, "dir": "output", "pull": "pullup" } }, "debugLevel": "DEBUG", "repl": "enable" } 完整配置如下:
version 配置项 轻应用版本号。 io 配置项 不同的模组/芯片,各个端口和管脚的功能映射可能是不一样的。 IoT轻应用的配置文件 app.json 中,可将硬件(芯片)的物理端口映射成为统一的应用层逻辑端口。 这样映射的好处是在替换不同的硬件或者芯片时,只需要替换 app.json 而不用修改应用程序或设备程序,从而便于应用的跨平台运行。 IO配置项中有 typeport 等硬件描述概念,对于每一款硬件(通常是芯片/模组/开发板)该配置文件均可能不同。 语法描述格式定义如下: { "io": { "D1":{ "type":"GPIO", "port":12, "dir":"output", "pull":"pullup" }, "I2C0":{ "type":"I2C", "port":0, "mode":"master", "addrWidth":7, "devAddr":270, "freq":100000 } }, "debugLevel": "DEBUG" } 解释:
外设 type 说明 io配置项的 type 用于描述该对象是什么硬件端口类型,而每一种type也拥有不同的属性字段,如 GPIO 与 ADC 的属性字段是不一样的。 GPIO
示例 { "io": { "D3": { "type": "GPIO", "port": 22, "dir": "output", "pull": "pullup" }, "D4": { "type": "GPIO", "port": 23, "dir": "irq", "pull": "pullup", "intMode": "rising" } }, "debugLevel": "DEBUG" } UART
示例 { "io": { "UART1":{ "type":"UART", "port":1, "dataWidth":3, "baudRate":9600, "stopBits":1, "flowControl":"disable", "parity":"none" }, "UART2":{ "type":"UART", "port":2, "dataWidth":3, "baudRate":115200, "stopBits":1, "flowControl":"disable", "parity":"none" } }, "debugLevel": "DEBUG" } I2C
示例 { "io": { "I2C0":{ "type":"I2C", "port":0, "mode":"master", "addrWidth":7, "devAddr":27, "freq":100000 } }, "debugLevel": "DEBUG" } SPI
示例 { "io": { "SPI1":{ "type":"SPI", "port":1, "mode":"master", "freq":3250000 } }, "debugLevel": "DEBUG" } ADC
示例 { "io": { "voltage": { "type": "ADC", "port": 1, "sampling": 12000000 } }, "debugLevel": "DEBUG" } DAC
示例 { "io": { "DAC1": { "type": "DAC", "port": 1 } }, "debugLevel": "DEBUG" } PWM
示例 { "io": { "PWM1": { "type": "PWM", "port": 1 } }, "debugLevel": "DEBUG" } TIMER
示例 { "io": { "TIMER1": { "type": "TIMER", "port": 1 } }, "debugLevel": "DEBUG" } debugLevel 配置调试日志等级,分为如下几个等级,默认为ERROR
repl(交互式解析器) 配置交互式解析器开关,默认打开。 [tr] 值 说明 [/tr]
示例 { "version": "1.0.0", "io": { "D1": { "type": "GPIO", "port": 31, "dir": "output", "pull": "pullup" } }, "debugLevel": "DEBUG", "repl": "disable" } 至此,轻应用概览、运行周期,详细配置与操作就介绍完了。各位开发者们可以在HaaS开发板上进行实际开发操作了。谢谢大家 |
||||
|
||||
只有小组成员才能发言,加入小组>>
4548个成员聚集在这个小组
加入小组3343 浏览 0 评论
航顺(HK)联合电子发烧友推出“近距离体验高性能Cortex-M3,免费申请价值288元评估板
4271 浏览 1 评论
4300 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-30 12:59 , Processed in 0.685013 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号