Овој стан се воспоставува канал помеѓу два микро: малку уреди. Каналот ќе биде handeled како UART комуникација. Мора да се развие програма по еден на секоја микро: малку уред со трансфер UART.
Индикација Активни: BLE индикација (стандардно)
Индикација inaktive: BLE Известување
Silent Активни: Не визуелни сеча
Silent inaktive: Влези
Потребно:
- Мин. Андроид 4.4
- Bluetooth ниска енергија (BLE)
- Paired devices
- Микро: програма по малку (развиена од страна на себе си)
MBED пример:
# Include "MicroBit.h"
# Include "MicroBitUARTService.h"
MicroBit uBit;
MicroBitUARTService * UART;
INT поврзани = 0;
поништат onConnected (MicroBitEvent д)
{
uBit.display.scroll ( "В");
поврзани = 1;
}
поништат onDisconnected (MicroBitEvent д)
{
uBit.display.scroll ( "Д");
поврзани = 0;
}
поништат onButtonA (MicroBitEvent д)
{
ако (поврзани == 0) {
uBit.display.scroll ( "Американски Држави");
се врати;
}
uart-> Send ( "Да");
uBit.display.scroll ( "Ц");
}
поништат onButtonB (MicroBitEvent д)
{
ако (поврзани == 0) {
uBit.display.scroll ( "Американски Држави");
се врати;
}
uart-> Send ( "Не");
uBit.display.scroll ( "N");
}
поништат onButtonAB (MicroBitEvent д)
{
ако (поврзани == 0) {
uBit.display.scroll ( "Американски Држави");
се врати;
}
uart-> Send ( "SK");
uBit.display.scroll ( "SK");
}
processBLEUart празнина () {
uint8_t readBuf [22];
а (1) {// јамка засекогаш
ако ((! поврзани) || (! uart-> isReadable ())) {
uBit.sleep (50); // Чекаат 50ms и проверете уште еднаш
продолжи; // Јамка;
}
// Друго ние сме поврзани и постои некакво влијание за да го прочитате
ако (uart-> isReadable ()) {
време (uart-> isReadable ()) {
int charCount = uart-> чита (readBuf, 22, async);
ако (charCount! = 0) {
за (int i = 0; i uBit.display.scroll ((char) readBuf [i]);
}
}
}
}
}
/ *
ВАЖНО !!!
Oherwise ќе снема меморија!
Препорачуваат оневозможување на услуги DFU и настан во MicroBitConfig.h, бидејќи тие не се потребни тука:
microbit-> microbit-dal-> inc-> core-> MicroBitConfig.h
#define MICROBIT_BLE_DFU_SERVICE 0
#define MICROBIT_BLE_EVENT_SERVICE 0
#define MICROBIT_SD_GATT_TABLE_SIZE 0x500
* /
int главната ()
{
// Initialise микро: малку траење.
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 = нови MicroBitUARTService (* uBit.ble, 32, 32);
uBit.display.scroll ( "Go");
create_fiber (& processBLEUart); // Создаде влакна и закажете.
release_fiber ();
}
Ажуриранa на
30 дек. 2020 г.