Ta aplikacija vzpostavlja kanal med dvema mikro: bitnih napravah. Kanal bo handeled kot UART komunikacije. Imate razviti v programm na vsako mikro: bit napravo s prenosom UART.
Navedba aktive: BLE navedba (privzeto)
Navedba inaktive: BLE obvestilo
Tiho aktive: Ne vizualno sečnje
Tiho inaktive: Izkoriščanje gozdov
zahteve:
- Min. Android 4.4
- Bluetooth Low Energy (BLE)
- Seznanjene naprave
- Mikro: bit programm (sami razvili)
MBED primer:
#include "MicroBit.h"
#include "MicroBitUARTService.h"
MicroBit ubit;
MicroBitUARTService * UART;
int povezan = 0;
razveljavi onConnected (MicroBitEvent e)
{
uBit.display.scroll ( "C");
povezan = 1;
}
razveljavi onDisconnected (MicroBitEvent e)
{
uBit.display.scroll ( "D");
povezan = 0;
}
razveljavi onButtonA (MicroBitEvent e)
{
če (povezano == 0) {
uBit.display.scroll ( "NC");
vrnitev;
}
uart-> pošlji ( "Da");
uBit.display.scroll ( "Y");
}
razveljavi onButtonB (MicroBitEvent e)
{
če (povezano == 0) {
uBit.display.scroll ( "NC");
vrnitev;
}
uart-> pošlji ( »Ne«);
uBit.display.scroll ( "N");
}
razveljavi onButtonAB (MicroBitEvent e)
{
če (povezano == 0) {
uBit.display.scroll ( "NC");
vrnitev;
}
uart-> pošiljanje ( "SK");
uBit.display.scroll ( "SK");
}
void processBLEUart () {
uint8_t readBuf [22];
while (1) {// zanka za vedno
if ((! povezani) || (! uart-> isReadable ())) {
uBit.sleep (50); // Čakati 50ms in ponovno preverite
naprej; // Zanka;
}
// Sicer smo povezani in da je nekaj vhod za branje
če (uart-> isReadable ()) {
medtem (uart-> isReadable ()) {
int charCount = uart-> prebral (readBuf, 22, async);
če (charCount! = 0) {
za (int i = 0; i uBit.display.scroll ((char) readBuf [i]);
}
}
}
}
}
/ *
POMEMBNO !!!
Oherwise vam bo zmanjkalo pomnilnika!
Priporočamo, da onemogočite storitev DFU in dogodek v MicroBitConfig.h ker niso potrebni tukaj:
microbit-> microbit-dal-> Povečana plačilna> 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 čas delovanja.
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 = new MicroBitUARTService (* uBit.ble, 32, 32);
uBit.display.scroll ( "Go");
create_fiber (& processBLEUart); // Ustvariti vlaken in urnik.
release_fiber ();
}
Posodobljeno dne
30. dec. 2020