थोडा साधने: हा अनुप्रयोग दोन सूक्ष्म दरम्यान एक चॅनेल स्थापन. चॅनेल UART संपर्क handeled जाईल. UART हस्तांतरण थोडा डिव्हाइस: आपण प्रत्येक सूक्ष्म एक प्रोग्राम develope आहे.
संकेत aktive: BLE संकेत (डीफॉल्ट)
संकेत inaktive: BLE सूचना
मूक aktive: नाही व्हिज्युअल लॉगिंग
मूक inaktive: लॉग
आवश्यकता:
- किमान. हा Android 4.4
- ब्ल्यूटूथ किमान ऊर्जा (BLE)
- जोडलेले डिव्हाइस
- सूक्ष्म: थोडा प्रोग्राम (स्वत: ला द्वारे विकसित)
MBED उदाहरण:
#include "MicroBit.h"
#include "MicroBitUARTService.h"
MicroBit uBit;
MicroBitUARTService * uart;
int कनेक्ट = 0;
रद्द onConnected (MicroBitEvent इ)
{
uBit.display.scroll ( 'क');
कनेक्ट = 1;
}
रद्द onDisconnected (MicroBitEvent इ)
{
uBit.display.scroll ( "डी");
कनेक्ट = 0;
}
रद्द onButtonA (MicroBitEvent इ)
{
तर (कनेक्ट == 0) {
uBit.display.scroll ( "नॅशनल कॉन्फरन्स");
परत;
}
uart-> पाठवा ( "होय");
uBit.display.scroll ( "Y");
}
रद्द onButtonB (MicroBitEvent इ)
{
तर (कनेक्ट == 0) {
uBit.display.scroll ( "नॅशनल कॉन्फरन्स");
परत;
}
uart-> पाठवा ( "नाही");
uBit.display.scroll ( "एन");
}
रद्द onButtonAB (MicroBitEvent इ)
{
तर (कनेक्ट == 0) {
uBit.display.scroll ( "नॅशनल कॉन्फरन्स");
परत;
}
uart-> पाठवा ( "एस ')
uBit.display.scroll ( "एस ')
}
रिकामा processBLEUart () {
uint8_t readBuf [22];
(1) {// सदैव पळवाट
तर ((! कनेक्ट) || (! uart-> isReadable ())) {
uBit.sleep (50); // 50mS प्रतिक्षा करा आणि पुन्हा तपासा
सुरू; // पळवाट;
}
आणखी // आम्ही जोडलेले आहेत आणि वाचण्यासाठी काही इनपुट आहे
तर (uart-> isReadable ()) {
करताना (uart-> isReadable ()) {
int charCount = uart-> वाचा (readBuf, 22, ASYNC);
तर (charCount! = 0) {
साठी (इ i = 0; मी charCount uBit.display.scroll ((एका जातीचा मासा) readBuf [i]);
}
}
}
}
}
/ *
महत्वाचे !!!
Oherwise आपण मेमरी संपली होईल!
MicroBitConfig.h मध्ये अंतर्गत dfu व इव्हेंट सेवा अक्षम शिफारस ते येथे गरज नाही पासून:
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 ()
{
थोडा रनटाइम: सूक्ष्म सुरवात //.
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 ();
}
या रोजी अपडेट केले
३० डिसें, २०२०