オンラインMbed C/C++コンパイラでBBC Micro:bitでconfig.jsonファイルを使用する人は誰ですか?もしそうなら、ファイルシステムのどこにconfig.jsonファイルを置いたのですか?BBC Microでconfig.jsonファイルを使用する:ビットMbedオンラインコンパイラ
私はMbedのオンラインC/C++コンパイラを使って、microbit-simple-radio-rxとmicrobit-simple-radio-txというサンプルラジオプログラムをビルドすると、読み込んだMicroからの応答は得られません16進ファイル。ただし、オフラインのyottaコマンドラインを使用して、同じconfig.jsonファイルでMicro:bitの同じサンプルをコンパイルし、16進ファイルをロードすると、サンプルが正しく実行されます。
config.jsonファイルがMbedオンラインコンパイラによって無視されているように見えます。このファイルの内容はBluetoothをオフにします。これは、Micro:bitラジオがBluetoothと同時に実行できないカスタムスタックを使用するためです。私はまた、MicroBit.hライブラリにこの行を追加することにより、Bluetoothのライブラリーをオフにすることができます
#define MICROBIT_BLE_ENABLED 0
これは、その後、コンパイルしてオンラインMBEDコンパイラで正しく実行する例を可能にします。
config.jsonファイル:
{
microbit-dal:{
bluetooth:{
enabled: 0
}
}
}
microbit_simple_radio_rx:
#include "MicroBit.h"
MicroBit uBit;
void onData(MicroBitEvent)
{
ManagedString s = uBit.radio.datagram.recv();
if (s == "1")
uBit.display.print("A");
if (s == "2")
Bit.display.print("B");
}
int main()
{
// Initialise the micro:bit runtime.
uBit.init();
uBit.messageBus.listen(MICROBIT_ID_RADIO,
MICROBIT_RADIO_EVT_DATAGRAM, onData);
uBit.radio.enable();
while(1)
uBit.sleep(1000);
}
microbit_simple_radio_tx:MBEDオンラインコンパイラではなくconfig.json
の、mbed_app.jsonを使用しています
#include "MicroBit.h"
MicroBit uBit;
int main()
{
// Initialise the micro:bit runtime.
uBit.init();
uBit.radio.enable();
while(1)
{
uBit.display.print("t");
if (uBit.buttonA.isPressed())
{
uBit.radio.datagram.send("1");
uBit.display.print("1");
}
else if (uBit.buttonB.isPressed())
{
uBit.radio.datagram.send("2");
uBit.display.print("2");
}
uBit.sleep(200);
}
}
C!= C++。両方が実際に関連している場合を除き、使用している言語のみでタグを設定してください。 – tambre