Ši programa nustato kanalą tarp dviejų mikro: bit prietaisų. Kanalas bus handeled kaip UART komunikacijos. Turite vystyt yra PROGRAMOS ant kiekvieno mikroorganizmo: bitų įrenginio su UART perdavimo.
Nurodymas aktive: BLE nuoroda (Numatytoji)
Nurodymas inaktive: BLE Pranešimas
Tylus aktive: Nėra vaizdo registravimas
Tylus inaktive: registravimas
reikalavimai:
- Min. "Android 4.4"
- "Bluetooth Low Energy (BLE)
- Prijungti įrenginiai
- Mikro: tiek Programa (sukurta pagal save)
MBED pavyzdys:
#include "MicroBit.h"
#include "MicroBitUARTService.h"
MicroBit uBit;
MicroBitUARTService * UART;
INT prijungtas = 0;
nebegalioti onConnected (MicroBitEvent E)
{
uBit.display.scroll ( "C");
prijungtas = 1;
}
nebegalioti onDisconnected (MicroBitEvent E)
{
uBit.display.scroll ( "D");
prijungtas = 0;
}
nebegalioti onButtonA (MicroBitEvent E)
{
jei (prijungtas == 0) {
uBit.display.scroll ( "NC");
grįžti;
}
uart-> siųsti ( "Taip");
uBit.display.scroll ( "Y");
}
nebegalioti onButtonB (MicroBitEvent E)
{
jei (prijungtas == 0) {
uBit.display.scroll ( "NC");
grįžti;
}
uart-> siųsti ( "Ne");
uBit.display.scroll ( "N");
}
nebegalioti onButtonAB (MicroBitEvent E)
{
jei (prijungtas == 0) {
uBit.display.scroll ( "NC");
grįžti;
}
uart-> siųsti ( "SK");
uBit.display.scroll ( "SK");
}
negaliojančiu processBLEUart () {
uint8_t readBuf [22];
o (1) {// kilpa amžinai
jei ((! prijungtas) || (! uart-> isReadable ())) {
uBit.sleep (50); // Laukti 50ms ir vėl patikrinti
Tęsti; // Kilpa;
}
// Kitur mes yra prijungti ir ar yra tam tikrų įvesties skaityti
jei (uart-> isReadable ()) {
o (uart-> isReadable ()) {
INT charCount = uart-> skaityti (readBuf, 22, asinchroninis);
jei (charCount! = 0) {
for (int i = 0; i uBit.display.scroll ((char) readBuf [i]);
}
}
}
}
}
/ *
SVARBU !!!
Oherwise jums bus paleisti iš atminties!
Rekomenduokite išjungti DFU ir renginių paslaugas MicroBitConfig.h nes jie nėra reikalingi čia:
microbit-> microbit-dal-> optima-> core-> MicroBitConfig.h
#define MICROBIT_BLE_DFU_SERVICE 0
#define MICROBIT_BLE_EVENT_SERVICE 0
#define MICROBIT_SD_GATT_TABLE_SIZE 0x500
* /
int main ()
{
// Initialise mikro: bitų runtime.
uBit.init ();
uBit.messageBus.listen (MICROBIT_ID_BLE, MICROBIT_BLE_EVT_CONNECTED, onConnected);
uBit.messageBus.listen (MICROBIT_ID_BLE, MICROBIT_BLE_EVT_DISCONNECTED, onDisconnected);
uBit.messageBus.listen (MICROBIT_ID_BUTTON_A, MICROBIT_BUTTON_EVT_CLICK, onButtonA);
uBit.messageBus.listen (MICROBIT_ID_BUTTON_B, MICROBIT_BUTTON_EVT_CLICK, onButtonB);
uBit.messageBus.listen (MICROBIT_ID_BUTTON_AB, MICROBIT_BUTTON_EVT_CLICK, onButtonAB);
UART = nauji MicroBitUARTService (* uBit.ble, 32, 32);
uBit.display.scroll ( "Go");
create_fiber (& processBLEUart); // Sukurti pluošto ir planuoja juos.
release_fiber ();
}