插入USB时连接到Adeept板的Micro:Bit复位

问题描述

我有一个BBC Micro:Bit。它已插入Adeept板上,该板上具有I2c 1602 LCD显示屏,Adeept操纵杆和Adeept按钮模块。我必须为开发板的USB端口供电,以运行LCD显示屏。我创建了一个网站,并希望能够将Micro:Bit的数据同步到该网站(您选择的名称以及稍后添加的其他数据)。我将名称设置为其他名称。然后,将USB插入计算机和Micro:Bit。但是,当我备份和还原时,名称是列表上的名字。
我没有还原就备份它,页面上说这个名字是名字(即使我更改了)。然后,当我导航到Micro:Bit上的名称“ app”时,它还会显示名字。 我不知道这是供电还是代码问题。 我的脚本在这里https://repl.it/@awesomecrater/smartmicrobit#script.js
我正在使用来自GitHub的该库https://github.com/bsiever/microbit-webusb/blob/master/ubitwebusb.js,而Micro:Bit上用于接收备份信号的代码看起来像是伪代码中的内容

When serial received with New Line {
   Split the data at "|||||||" and store it in serialthing
   If the first item in serialthing is "backup" {
      write the variable name to the serial output
   } Else if the first item in serialthing is "name" {
      convert the second item in serialthing to a number and store it in name.
   }
}

有人知道为什么将它设置回列表中的第一项吗?
name将列表的当前项目存储为索引。

解决方法

你的意思是你设置好名字后连接USB线吗? (或者设置名称后电源关闭/打开?)

我可以想到可能导致您描述的行为的两种不同类型的担忧:

  • Micro:bit 保留代码,但每次 micro:bit 电源关闭/打开时都会重置数据(设置在变量中的值)。
  • 当 USB 电缆连接时 micro:bit 会重置,因此它会运行启动代码并将任何变量值重置为默认值。如果该启动代码将名称恢复为某个初始值,那么您将获得该值。 (我已经与 micro:bit 团队核实过,我认为在连接 WebUSB 问题时没有办法避免重置)。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...