Dette programmet etablerer en kanal mellom to mikro: bits enheter. Kanalen vil bli håndtert som UART kommunikasjon. Du må utvikle et programm på hver mikro: bit enhet med UART overføring.
Indikasjon Aktive: BLE Indikasjon (Standard)
Indikasjon inaktive: BLE Melding
Silent Aktive: Ingen visuell logging
Silent inaktive: Logging
Krav:
- Min. Android 4.4
- Bluetooth Low Energy (BLE)
- Sammenkoblede enheter
- Micro: bit programm (utviklet av deg selv)
MBED eksempel:
#include "MicroBit.h"
#include "MicroBitUARTService.h"
MicroBit UBiT;
MicroBitUARTService * UART;
int tilkoblet = 0;
ugyldig onConnected (MicroBitEvent e)
{
uBit.display.scroll ( "C");
tilkoblet = 1;
}
ugyldig onDisconnected (MicroBitEvent e)
{
uBit.display.scroll ( "D");
tilkoblet = 0;
}
ugyldig onButtonA (MicroBitEvent e)
{
if (tilkoblet == 0) {
uBit.display.scroll ( "NC");
komme tilbake;
}
uart-> sende ( "Ja");
uBit.display.scroll ( "Y");
}
ugyldig onButtonB (MicroBitEvent e)
{
if (tilkoblet == 0) {
uBit.display.scroll ( "NC");
komme tilbake;
}
uart-> sende ( "Nei");
uBit.display.scroll ( "N");
}
ugyldig onButtonAB (MicroBitEvent e)
{
if (tilkoblet == 0) {
uBit.display.scroll ( "NC");
komme tilbake;
}
uart-> sende ( "SK");
uBit.display.scroll ( "SK");
}
void processBLEUart () {
uint8_t readBuf [22];
while (1) {// løkke for alltid
if ((! tilkoblet) || (! uart-> isReadable ())) {
uBit.sleep (50); // Vente 50ms og sjekk igjen
fortsette; // Løkke;
}
// Annet vi er tilkoblet og det er noen innspill å lese
if (uart-> isReadable ()) {
while (uart-> isReadable ()) {
int charCount = uart-> lese (readBuf, 22, ASYNC);
if (charCount! = 0) {
for (int i = 0; i uBit.display.scroll ((char) readBuf [i]);
}
}
}
}
}
/ *
VIKTIG !!!
Oherwise du vil gå tom for minne!
Anbefaler å deaktivere DFU og konferansetjenester i MicroBitConfig.h siden de ikke er nødvendig her:
microbit-> microbit-dal-> Inc> kjerne-> MicroBitConfig.h
#define MICROBIT_BLE_DFU_SERVICE 0
#define MICROBIT_BLE_EVENT_SERVICE 0
#define MICROBIT_SD_GATT_TABLE_SIZE 0x500
* /
int main ()
{
// Initial mikro: litt kjøring.
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 = ny MicroBitUARTService (* uBit.ble, 32, 32);
uBit.display.scroll ( "Go");
create_fiber (& processBLEUart); // Oppretter fiber og planlegge det.
release_fiber ();
}