Micobit仅在事件内将串行数据发送到计算机?

时间:2019-09-26 07:19:12

标签: javascript node.js bbc-microbit makecode

我想将数据从微比特发送到PC。所有连接正常。但是,我发现只有在事件中写入了串行写入功能的情况下,数据才被发送到计算机,例如,我使用Makecode进行以下两项工作:

function downloadImageFromCrossOrigin (blobURL) {
                var xhr = new XMLHttpRequest();
                xhr.open('GET', blobURL, true);
                xhr.responseType = 'blob';
                xhr.onload = function () {
                    if (this.status === 200) {
                        var fileReader = new FileReader();
                        fileReader.onload = function (e) {
                            var url = e.target.result;
                            var img = new Image();
                            var imgCanvas = document.createElement('canvas');
                            var imgContext = imgCanvas.getContext('2d');
                            img.onload = function () {
                                // Make sure canvas is as big as the picture
                                imgCanvas.width = img.width;
                                imgCanvas.height = img.height;
                                // Draw image into canvas element
                                imgContext.drawImage(img, 0, 0);

                                // Get canvas contents as a data URL. Use this imgAsDataURL
                                var imgAsDataURL = imgCanvas.toDataURL('image/png');

                            };
                            img.src = url;
                        };
                        fileReader.readAsDataURL(this.response);
                    }
                    else{
                        throw new Error('Failed to load from blobURL.');
                    }
                };
                xhr.send();
            };
input.onButtonPressed(Button.B, () => {
    serial.writeLine("data from micro:bit!")
})

但是,如果我只写这样的一行,那是行不通的:

basic.forever(function () {
    serial.writeLine("data from micro:bit!")
})

我怀疑串行写入功能必须由某种东西触发,可能是回调或循环等?但是看来micropython并没有这个问题。

更多背景信息,我使用Windows 10,并且使用Node.js serialPort软件包接收消息。我不确定环境是否会影响行为。

如果能与大家分享一些经验,我非常感谢。

0 个答案:

没有答案