Ця програма встановлює канал між двома мікро: розрядних пристроїв. Канал буде handeled як UART зв'язку. Ви повинні розвивати програмка на кожному мікро: біт пристрої з передачею УАПП.
Індикація Aktive: BLE індикація (за замовчуванням)
Індикація InAktive: BLE Повідомлення
Тиха НЕ Aktive: Немає візуальної реєстрації
Тиха InAktive: Обробка пластику
вимоги:
- Хв. Android 4.4
- Bluetooth Low Energy (BLE)
- Парні пристрої
- Мікро: трохи програмка (розроблений самостійно)
MBED приклад:
#include "MicroBit.h"
#include "MicroBitUARTService.h"
Мікродолото UBIT;
MicroBitUARTService * УАПП;
INT підключений = 0;
анулювання onConnected (MicroBitEvent е)
{
uBit.display.scroll ( "С");
підключений = 1;
}
анулювання onDisconnected (MicroBitEvent е)
{
uBit.display.scroll ( "D");
підключений = 0;
}
анулювання onButtonA (MicroBitEvent е)
{
якщо (підключений == 0) {
uBit.display.scroll ( "NC");
повернення;
}
uart-> відправити ( "Так");
uBit.display.scroll ( "Y");
}
анулювання onButtonB (MicroBitEvent е)
{
якщо (підключений == 0) {
uBit.display.scroll ( "NC");
повернення;
}
uart-> відправити ( "No");
uBit.display.scroll ( "N");
}
анулювання onButtonAB (MicroBitEvent е)
{
якщо (підключений == 0) {
uBit.display.scroll ( "NC");
повернення;
}
uart-> відправити ( "СК");
uBit.display.scroll ( "СК");
}
недійсним processBLEUart () {
uint8_t readBuf [22];
в той час як (1) {// цикл назавжди
якщо ((! чіткий) || (! uart-> isReadable ())) {
uBit.sleep (50); // Очікуємо 50мс і перевірте ще раз
продовжити; // Цикл;
}
// Інакше ми пов'язані і є певний вхід для читання
якщо (uart-> isReadable ()) {
в той час як (uart-> isReadable ()) {
INT CharCount = uart-> прочитати (readBuf, 22, АСИНХРОННИЙ);
якщо (CharCount! = 0) {
для (INT I = 0; я uBit.display.scroll ((символ) readBuf [I]);
}
}
}
}
}
/ *
ВАЖЛИВО !!!
Oherwise ви будете запускати з пам'яті!
Рекомендується відключити послуги DFU і подія в MicroBitConfig.h, так як вони тут не потрібні:
microbit-> мікродолото-dal-> принципи участі> core-> MicroBitConfig.h
#define MICROBIT_BLE_DFU_SERVICE 0
#define MICROBIT_BLE_EVENT_SERVICE 0
#define MICROBIT_SD_GATT_TABLE_SIZE 0x500
* /
Int основних ()
{
// Ініціалізувати мікро: біт виконання.
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);
УАПП = новий MicroBitUARTService (* uBit.ble, 32, 32);
uBit.display.scroll ( "Go");
create_fiber (& processBLEUart); // Створити волокна і планувати його.
release_fiber ();
}