יישום זה קובע ערוץ בין שני מיקרו: מכשירים קצת. הערוץ יהיה handeled כתקשורת UART. אתה צריך לפתח מערכת programm בכל מיקרו: קצת מכשיר עם העברת UART.
חיווי aktive: חיווי BLE (ברירת מחדל)
חיווי inaktive: הודעה BLE
aktive שקט: אין רישום ויזואלי
inaktive שקט: רישום
דרישות:
- מינימום. 4.4 Android
- Bluetooth Low Energy (BLE)
- התקנים מותאמים
- מיקרו: programm קצת (שפותחה על ידי עצמך)
לדוגמא MBED:
#include "MicroBit.h"
#include "MicroBitUARTService.h"
MicroBit uBit;
MicroBitUARTService * UART;
int מחובר = 0;
לביטול onConnected (ה MicroBitEvent)
{
uBit.display.scroll ( "C");
מחובר = 1;
}
לביטול onDisconnected (ה MicroBitEvent)
{
uBit.display.scroll ( "D");
מחובר = 0;
}
לביטול onButtonA (ה MicroBitEvent)
{
אם (קשור == 0) {
uBit.display.scroll ( "NC");
לַחֲזוֹר;
}
uart-> לשלוח ( "כן");
uBit.display.scroll ( "Y");
}
לביטול onButtonB (ה MicroBitEvent)
{
אם (קשור == 0) {
uBit.display.scroll ( "NC");
לַחֲזוֹר;
}
uart-> לשלוח ( "לא");
uBit.display.scroll ( "N");
}
לביטול onButtonAB (ה MicroBitEvent)
{
אם (קשור == 0) {
uBit.display.scroll ( "NC");
לַחֲזוֹר;
}
uart-> לשלוח ( "SK");
uBit.display.scroll ( "SK");
}
processBLEUart החלל () {
uint8_t readBuf [22];
while (1) {// לולאה לנצח
אם ((! מחובר) || (! uart-> isReadable ())) {
uBit.sleep (50); // לחכות 50ms ולבדוק שוב
לְהַמשִׁיך; // לולאה;
}
// אחר שאנחנו מחוברים ויש קצת קלט לקרוא
אם (uart-> isReadable ()) {
while (uart-> isReadable ()) {
int charCount = uart-> לקרוא (readBuf, 22, סינכרוני);
אם (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
0x500 #define MICROBIT_SD_GATT_TABLE_SIZE
* /
int main ()
{
// 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 ();
}
עדכון אחרון בתאריך
30 בדצמ׳ 2020