Programu hii itaanzisha channel kati ya mbili ndogo: vifaa bit. Channel itakuwa handeled kama UART mawasiliano. Una kuendeleza programm juu ya kila micro: bit kifaa na UART uhamisho.
Dalili aktive: ble Dalili (Default)
Dalili inaktive: ble Notification
Kimya aktive: No magogo Visual
inaktive kimya: Logging
mahitaji:
- Min. Android 4.4
- Bluetooth Nishati Chini (ble)
- Vifaa Paired
- Micro: bit programm (zilizotengenezwa na wewe mwenyewe)
mfano MBED:
# Pamoja "MicroBit.h"
# Pamoja "MicroBitUARTService.h"
MicroBit ubit;
MicroBitUARTService * UART;
int kushikamana = 0;
utupu onConnected (MicroBitEvent e)
{
uBit.display.scroll ( "C");
kushikamana = 1;
}
utupu onDisconnected (MicroBitEvent e)
{
uBit.display.scroll ( "D");
kushikamana = 0;
}
utupu onButtonA (MicroBitEvent e)
{
kama (kushikamana == 0) {
uBit.display.scroll ( "NC");
kurudi;
}
uart-> kutuma ( "Ndiyo");
uBit.display.scroll ( "Y");
}
utupu onButtonB (MicroBitEvent e)
{
kama (kushikamana == 0) {
uBit.display.scroll ( "NC");
kurudi;
}
uart-> kutuma ( "No");
uBit.display.scroll ( "N");
}
utupu onButtonAB (MicroBitEvent e)
{
kama (kushikamana == 0) {
uBit.display.scroll ( "NC");
kurudi;
}
uart-> kutuma ( "SK");
uBit.display.scroll ( "SK");
}
utupu processBLEUart () {
uint8_t readBuf [22];
wakati (1) {// kitanzi milele
kama ((! kushikamana) || (! uart-> isReadable ())) {
uBit.sleep (50); // Kusubiri 50mS na kuangalia tena
kuendelea; // Kitanzi;
}
// Kingine sisi ni kushikamana NA kuna baadhi ya pembejeo kusoma
kama (uart-> isReadable ()) {
wakati (uart-> isReadable ()) {
int charCount = uart-> kusoma (readBuf, 22, async);
kama (charCount! = 0) {
kwa (int i = 0; i uBit.display.scroll ((Char) readBuf [i]);
}
}
}
}
}
/ *
MUHIMU !!!
Oherwise utakuwa kukimbia nje ya kumbukumbu!
Kupendekeza mlemavu DFU na Tukio huduma katika MicroBitConfig.h tangu wao si zinahitajika hapa:
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 kuu ()
{
// Initialise micro: bit Runtime.
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 = mpya MicroBitUARTService (* uBit.ble, 32, 32);
uBit.display.scroll ( "Nenda");
create_fiber (& processBLEUart); // Kuunda nyuzi na ratiba yake.
release_fiber ();
}
Ilisasishwa tarehe
30 Des 2020