Esta aplicación establece unha canle entre dous micro: dispositivos bits. A canle estará handeled como a comunicación UART. Ten que desenvolver un programa en cada micro: Dispositivo pouco coa transferencia de UART.
aktive indicación: Indicación ble (por defecto)
inaktive Indicación: Notificación ble
aktive silenciosa: Ningún rexistro visual
inaktive silenciosa: Logging
requisitos:
- Min. Android 4.4
- Bluetooth Low Energy (ble)
- Os dispositivos vinculados
- Micro: Programa bit (desenvolvido por si mesmo)
exemplo mbed:
#include "MicroBit.h"
#include "MicroBitUARTService.h"
MicroBit UBIT;
MicroBitUARTService * UART;
int conectado = 0;
anular OnConnected (MicroBitEvent e)
{
uBit.display.scroll ( "C");
conectado = 1;
}
anular onDisconnected (MicroBitEvent e)
{
uBit.display.scroll ( "D");
conectado = 0;
}
anular onButtonA (MicroBitEvent e)
{
if (== conectado 0) {
uBit.display.scroll ( "NC");
voltar;
}
uart-> enviar ( "Si");
uBit.display.scroll ( "Y");
}
anular onButtonB (MicroBitEvent e)
{
if (== conectado 0) {
uBit.display.scroll ( "NC");
voltar;
}
uart-> enviar ( "Non");
uBit.display.scroll ( "N");
}
anular onButtonAB (MicroBitEvent e)
{
if (== conectado 0) {
uBit.display.scroll ( "NC");
voltar;
}
uart-> enviar ( "SK");
uBit.display.scroll ( "SK");
}
baleiro processBLEUart () {
uint8_t readBuf [22];
while (1) {// fai un loop para sempre
if ((! conectado) || (! uart-> isReadable ())) {
uBit.sleep (50); // Espera 50mS e verifique
seguir; // Fai bucle;
}
// Outra cousa estamos conectados e hai algunha entrada para ler
Se (uart-> isReadable ()) {
while (uart-> isReadable ()) {
int charCount = uart-> read (readBuf, 22, async);
Se (charCount! = 0) {
for (int i = 0; i uBit.display.scroll ((char) readBuf [i]);
}
}
}
}
}
/ *
IMPORTANTE !!!
Oherwise vai quedar sen memoria!
Recoméndase desactivar os servizos DFU e Eventos en MicroBitConfig.h xa que non son necesarios aquí:
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 main ()
{
// Inicializar o micro: tempo de execución bit.
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); // Crea fibra e programa-lo.
release_fiber ();
}
Última actualización
30 de dec. de 2020