تبادل اطلاعات بلوتوث برای میکرو: دستگاه های کمی
این برنامه ایجاد یک کانال بین دو میکرو: دستگاه های کمی. کانال به عنوان ارتباطات UART handeled. شما باید برای توسعه برنامه در هر میکرو: دستگاه کمی با انتقال UART.
aktive نشانه: نشانه BLE (پیش فرض)
inaktive نشانه: هشدار از طریق BLE
aktive خاموش: بدون ورود بصری
inaktive خاموش: ورود به سیستم
الزامات:
- حداقل. آندروید 4.4
- بلوتوث کم انرژی (BLE)
- دستگاه های مرتبط
- میکرو: برنامه کمی (توسعه یافته توسط خودتان)
به عنوان مثال MBED:
# شامل "MicroBit.h"
# شامل "MicroBitUARTService.h"
MicroBit uBit؛
MicroBitUARTService * UART؛
INT متصل = 0؛
از درجه اعتبار ساقط onConnected (MicroBitEvent E)
{
uBit.display.scroll ( "C")؛
متصل = 1؛
}
از درجه اعتبار ساقط onDisconnected (MicroBitEvent E)
{
uBit.display.scroll ( "D")؛
متصل = 0؛
}
از درجه اعتبار ساقط onButtonA (MicroBitEvent E)
{
اگر (== متصل 0) {
uBit.display.scroll ( "NC")؛
برگشت؛
}
uart-> ارسال ( "بله")؛
uBit.display.scroll ( "Y")؛
}
از درجه اعتبار ساقط onButtonB (MicroBitEvent E)
{
اگر (== متصل 0) {
uBit.display.scroll ( "NC")؛
برگشت؛
}
uart-> ارسال ( "نه")؛
uBit.display.scroll ( "N")؛
}
از درجه اعتبار ساقط onButtonAB (MicroBitEvent E)
{
اگر (== متصل 0) {
uBit.display.scroll ( "NC")؛
برگشت؛
}
uart-> ارسال ( "SK")؛
uBit.display.scroll ( "SK")؛
}
از درجه اعتبار ساقط processBLEUart () {
uint8_t readBuf [22]؛
در حالی که (1) {// حلقه برای همیشه
اگر ((! متصل) || (! uart-> isReadable ())) {
uBit.sleep (50)؛ // صبر 50MS و دوباره چک کنید
ادامه دهید؛ // حلقه؛
}
// دیگری که ما به هم متصل و برخی از ورودی برای خواندن وجود دارد
اگر (uart-> isReadable ()) {
در حالی که (uart-> isReadable ()) {
INT charCount uart- => به عنوان خوانده شده (readBuf، 22، ASYNC)؛
اگر (charCount! = 0) {
برای (اعضای هیات من = 0؛ من uBit.display.scroll ((کاراکتر) readBuf [من])؛
}
}
}
}
}
/ *
مهم !!!
Oherwise شما اجرا خواهد کرد از حافظه!
توصیه غیرفعال کردن خدمات DFU و رویداد در MicroBitConfig.h از آنها در اینجا نیاز نیست:
microbit-> microbit-dal-> Inc- در> مرکز-> MicroBitConfig.h
# تعریف MICROBIT_BLE_DFU_SERVICE 0
# تعریف MICROBIT_BLE_EVENT_SERVICE 0
0x500 # تعریف MICROBIT_SD_GATT_TABLE_SIZE
* /
اعضای هیات تحریریه اصلی ()
{
زمان اجرا بیتی: // میکرو مقداردهی اولیه.
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 ( "برو")؛
create_fiber (و processBLEUart)؛ // ایجاد فیبر و برنامه های آن.
release_fiber ()؛
}