距离上一篇文章「JavaScript 很少为人所知的玩法」发表正好过去一个月,文章反响还不错,也带来了不少关注,说明还是有人对在微控制器上跑 JavaScript 感兴趣的。
为了进一步学习 JavaScript 以及在微控制器上实现的解析器,我专门设计了一款简单的硬件 nRF52832 Micro Development Kit,目前已经能够支持 JerryScript 以及 Espruino 这两个 JavaScript 解析器,平时就用来研究学习,感觉还是挺方便的。
先功能框图,再上“写真集”,最后一个简单的 Demo。
功能框图
专门制作的框图,有没有比纯文字描述好看多了?
写真集
能用图片表达的,我尽量少说话......🤐
Demo
我保证这次不再闪灯了,换种方式,来一个稍微进阶一点的。
材料清单
- nRF52832 Micro Development Kit(本文主角)
- 128*64 OLED Display(SPI接口)
- 面包板
- 面包板专用跳线
连接图
运行 JavaScript 代码
require("Font8x16").add(Graphics);
var s = new SPI();
s.setup({mosi: D26 /* D1 */, sck: D25 /* D0 */});
var g = require("SSD1306").connectSPI(s, D28 /* DC */,
D27 /* RST - can leave as undefined */, start, { cs : D29 });
g.setContrast(255);
function start(){
g.setFont8x16();
g.drawString("Welcome to", 0,12);
g.drawString("makerdiary.co", 20,30);
g.flip();
}
显示图片当然也很简单,可以先使用 ImageMagick 将图片转换一下:
var img_logo = {
width : 64, height : 64, bpp : 1,
transparent : 0,
buffer : E.toArrayBuffer(atob("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAOAAAAAAAAAB8AAAAAAAAAP4AAAAAAAAA/wAAAAAAAAH/gAAAAAAAA//AAAAAAAAD/+AAAAAAAAf/8AAAAAAAB//4AAAAAAAP//gAAAAAAB///AAAAAAAB//8AAAAAAAD//4AAAAAAAD//gAAAAAAYH/+AAAAAAD4H/8AAAAAAfwP/gAAAAAB/wPwAAAAAAP/wYAAAAAAB//gAIAAAAAH//gHgAAAAA//+D/AAAAAD//w/8AAAAAf/+H/4AAAAD//wf/gAAAAP/+D/+AAAAB//wf/8AAAAD/+D//gAAAAP/4f/+AAAAA//D//wAAAAB/4f/+AAAAAH+D//4AAAAAPAP//AAAAAAgAP/8AAAAAAAwf/gAAAAAAfgf8AAAAAAP/gfwAAAAAB//A+AAAAAAD//AwAAAAAAP/+AAAAAAAA//+AAAAAAAB//8AAAAAAAH//8AAAAAAAP//gAAAAAAA//8AAAAAAAB//wAAAAAAAD/+AAAAAAAAH/4AAAAAAAAP/AAAAAAAAAf4AAAAAAAAA/gAAAAAAAAB8AAAAAAAAADgAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="))
};
function start(){
g.drawImage(img_logo, 32, 0);
g.flip();
}
好了,今天就先这样,感兴趣的朋友可以关注一下,更多例子以后慢慢推送。
如无特殊说明,本文版权归本文作者及「创客日记」所有,采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。
转载请注明:来自「创客日记」https://makerdiary.co/the-hardware-for-learning-javascript/