我正在尝试通过我制作的Chrome应用程序将十六进制文件闪存到Arduino。我使用了下面的基本NodeJS代码,并使用browserify对其进行了转换,以便可以在浏览器中使用。它不起作用,并且在控制台中出现错误,提示“ TypeError:fs.​​readFileSync不是函数”

var Avrgirl = require('avrgirl-arduino');

var avrgirl = new Avrgirl({
  board: 'uno'
});

avrgirl.flash('Blink.cpp.hex', function (error) {
  if (error) {
    console.error(error);
  } else {
    console.info('done.');
  }
});

最佳答案

您无法在浏览器中运行这种类型的代码(即使使用browserify也是如此)。您应该在node.js中运行它。

我猜你的错误来自内部:

avrgirl.flash('Blink.cpp.hex', ...)


因为您要传递文件名,并且该函数可能试图读取该文件。

browserify不能神奇地赋予浏览器强大的功能,如从硬盘驱动器读取文件或与arduino硬件进行通信等。该代码可能应该在node.js环境中运行。

avrgirl-arduino模块的instructions清楚地表明您应该在node.js中运行。

09-25 16:19