Tämä sovellus muodostaa kanavan kahden mikro: bit laitteet. Kanavan tulee handeled kuin UART viestintä. Sinun täytyy kehittää programm jokaisesta mikro: bittinen laite, jossa UART siirto.
Merkintä aktive: BLE merkinnän (oletus)
Merkintä inaktive: BLE Ilmoitus
Silent aktive: Ei visuaalinen kirjaaminen
Silent inaktive: kirjaaminen
vaatimukset:
- Min. Android 4.4
- Wibree (BLE)
- Laiteparit
- Mikro: bit programm (kehittämä itse)
MBED esimerkiksi:
# include "MicroBit.h"
# include "MicroBitUARTService.h"
MicroBit Ubit;
MicroBitUARTService * UART;
int kytketty = 0;
mitätöi onConnected (MicroBitEvent e)
{
uBit.display.scroll ( "C");
kytketty = 1;
}
mitätöi onDisconnected (MicroBitEvent e)
{
uBit.display.scroll ( "D");
kytketty = 0;
}
mitätöi onButtonA (MicroBitEvent e)
{
jos (kytketty == 0) {
uBit.display.scroll ( "NC");
palata;
}
uart-> lähettää ( "Kyllä");
uBit.display.scroll ( "Y");
}
mitätöi onButtonB (MicroBitEvent e)
{
jos (kytketty == 0) {
uBit.display.scroll ( "NC");
palata;
}
uart-> lähettää ( "No");
uBit.display.scroll ( "N");
}
mitätöi onButtonAB (MicroBitEvent e)
{
jos (kytketty == 0) {
uBit.display.scroll ( "NC");
palata;
}
uart-> lähettää ( "SK");
uBit.display.scroll ( "SK");
}
void processBLEUart () {
uint8_t readBuf [22];
while (1) {// silmukka ikuisesti
jos ((! kytketty) || (! uart-> isReadable ())) {
uBit.sleep (50); // Odota 50ms ja tarkista uudelleen
jatkaa; // Loop;
}
// Muuten olemme yhteydessä ja on jonkin verran tulo lukea
jos (uart-> isReadable ()) {
while (uart-> isReadable ()) {
int charCount = uart-> lukea (readBuf, 22, ASYNC);
jos (charCount! = 0) {
for (int i = 0; i uBit.display.scroll ((char) readBuf [i]);
}
}
}
}
}
/ *
TÄRKEÄ !!!
Oherwise olet loppuu muisti!
Suositella poistamalla DFU ja Event palveluja MicroBitConfig.h koska niitä ei tarvita tässä:
microbit-> microbit-dal-> Inc-> ydin-> 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 = uusi MicroBitUARTService (* uBit.ble, 32, 32);
uBit.display.scroll ( "Go");
create_fiber (& processBLEUart); // Luoda kuitu ja ajoittaa sen.
release_fiber ();
}