កម្មវិធីនេះបង្កើតឆានែលរវាងខ្នាតតូចពីរ: ឧបករណ៍បន្តិច។ ឆានែលនេះនឹងត្រូវបានជាការទំនាក់ទំនង UART handeled ។ អ្នកមានការ develope សរសេរកម្មវិធីមួយនៅលើខ្នាតតូចគ្នា: ឧបករណ៍បន្តិចនឹងការផ្ទេរ UART ។
នាមចង្អុលបង្ហាញ: ការចង្អុលបង្ហាញ ble (លំនាំដើម)
inaktive ចង្អុលបង្ហាញ: ការជូនដំណឹង BLE
នាមស្ងាត់: គ្មានការកាប់ឈើដែលមើលឃើញ
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 ( "NC");
វិលត្រឡប់មកវិញ;
}
uart-> ផ្ញើ ( "បាទ");
uBit.display.scroll ( "អ៊ី");
}
ទុកជាមោឃៈ 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];
ខណៈពេលដែល (1) {// រង្វិលដែលមិនធ្លាប់មាន
ប្រសិនបើ ((! តភ្ជាប់) || (! uart-> isReadable ())) {
uBit.sleep (50); // រង់ចាំ 50mS និងពិនិត្យមើលជាថ្មីម្តងទៀត
បន្ត; // រង្វិលជុំ;
}
// ផ្សេងទៀតដែលយើងត្រូវបានតភ្ជាប់និងមានការបញ្ចូលមួយចំនួនដើម្បីអាន
ប្រសិនបើ (uart-> isReadable ()) {
ខណៈពេល (uart-> isReadable ()) {
int charCount = uart-> អាន (readBuf, 22, អសមកាលកម្ម);
ប្រសិនបើ (charCount! = 0) {
សម្រាប់ (int ខ្ញុំ = 0; i uBit.display.scroll ((ធ្យូង) readBuf [ខ្ញុំ]);
}
}
}
}
}
/ *
សំខាន់ !!!
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
* /
គត់មេ ()
{
// 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 ( "ទៅ");
create_fiber (processBLEUart); // បង្កើតជាតិសរសៃនិងកំណត់វា។
release_fiber ();
}
បានដំឡើងកំណែនៅ
30 ធ្នូ 2020