在mu编辑器上始终以micro:bit

时间:2018-07-25 01:39:52

标签: python syntax-error micropython mu

我在Ubuntu 18.04上使用mu-editor 1.0.0。当我尝试进行非常简单的计算,例如“ 2 + 2”(不带“”)时,REPL模式始终显示错误消息,如下所示:

on v1.9.2-34-gd64154c73 on 2017-09-01; micro:bit v1.0.0-rc.2 with 
nRF51822

Type "help()" for more information.
>>> 
>>> 2+2
Traceback (most recent call last):
    File "<stdin>", line 2
SyntaxError: invalid syntax
>>> 

下面是我的屏幕:

enter image description here

我试图在互联网上找到答案,但我仍然不知道如何以及为什么。请帮助我尝试解决此问题。

非常感谢您。

============更新2017/07/25 18:48(台湾)=============

谢谢你,亲爱的@stijn:)

我在这个问题上取得了一些进展。但是,我仍然没有完全解决这个问题。

在以下URL中,一种网民提供了解决问题的线索: https://github.com/mu-editor/mu/issues/576

ZanderBrown说:“只能假定存在一些不可见的字符或某些东西”。这使我想知道是否可以与我的输入法,输入设备或语言(语言环境)相关。

由于我是台湾人,因此我们使用繁体中文(与中国大陆使用的简体中文不同)。在 / etc / default / locale 中,我的原始设置如下:

LANG="zh_TW.UTF-8"
LANGUAGE="zh_TW:zh:en_US:en"
LC_NUMERIC="zh_TW.UTF-8"
LC_TIME="zh_TW.UTF-8"
LC_MONETARY="zh_TW.UTF-8"
LC_PAPER="zh_TW.UTF-8"
LC_IDENTIFICATION="zh_TW.UTF-8"
LC_NAME="zh_TW.UTF-8"
LC_ADDRESS="zh_TW.UTF-8"
LC_TELEPHONE="zh_TW.UTF-8"
LC_MEASUREMENT="zh_TW.UTF-8"

然后,我将内容更改为第一

LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=lzh_TW.UTF-8
LC_TIME=en_US.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=lzh_TW.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=lzh_TW.UTF-8
LC_NAME=lzh_TW.UTF-8
LC_ADDRESS=lzh_TW.UTF-8
LC_TELEPHONE=lzh_TW.UTF-8
LC_MEASUREMENT=lzh_TW.UTF-8
LC_IDENTIFICATION=lzh_TW.UTF-8
LC_ALL=

第二,我试图将地区和语言更改为英语和美国。

enter image description here

第三,我将键盘输入法系统设置为

enter image description here

最后,我重新启动系统。我们可以看到一个有趣的结果:

enter image description here

如果我从其他文本编辑器复制代码,然后粘贴在REPL模式下,它可以打印正确的结果,但是>>>标记后的文字会很奇怪...

如果我尝试使用键盘直接输入,它将不会重复字符或不响应。 enter image description here

此外,我可以使用minicom模式来使用REPL,但是它仍然重复字符。...

enter image description here

===================更新2017/07/26 14:26(台湾)============== 谢谢你们。我几乎解决了这个问题。这是我的解决方案和可能的原因。

我的朋友,一位硬件工程师告诉我尝试使用名为 minicom 的Linux套件。我们将micro:bit与PC(ubuntu)连接,然后使用minicom来检查连接状态。

$ minicom /dev/ttyACM0

(如果您想知道与micro:bit连接的端口,则可以使用名为dmesg的命令。) 选择串行和端口设置 enter image description here

检查选项串行设备与dmesg打印的结果相同。如果不是,请进行更改。 并且,最重要的是,将选项硬件流控制保持为。我不了解其原理,但是经过测试后,必须保持 YES enter image description here

在上面之后,您可以选择 EXIT (不是从MINICOM退出)来通过连接micro:bit在minicom中进入REPL模式。在这种情况下,您可以使用python编码,即使我的控制台屏幕仍然显示我在键入一次键时输入的任何字符...

我下一步要做的是完全关闭电源。然后再次打开我的PC(ubuntu)。

奇迹发生了。

再次完全关闭电源并重新打开我的电脑(ubuntu)后,我可以在MU-editor和minicom中使用REPL模式,而不会出现两次字符和其他问题。 请原谅我不能放ScreenSchot图片,因为我忘记将micro:bit芯片带到办公室了。

但是,在我的笔记本电脑(Debian 9)上,将输入法系统更改为中文输入法后,上面的方法仍然可以工作。

所以,我认为问题的两个主要原因是:

1。区域设置和输入法系统:最好使用英语区域设置纯英语输入法

2。检查硬件流控制是否设置为

3。完成所有设置后,请完全关闭电源,然后再次打开您的PC或笔记本电脑。 不要仅注销或重新启动

0 个答案:

没有答案