问题描述
我有一个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 问题时没有办法避免重置)。