Lolu hlelo lokusebenza usungula isiteshi phakathi ezimbili ezincane: amadivayisi bit. Isiteshi uzobe handeled njengoba UART zokuxhumana. Kufanele develope a sohlelo on ngalinye micro: bit idivayisi ngokudluliselwa UART.
Okubonisa aktive: Okubonisa nakali (Okuzenzakalelayo)
Okubonisa inaktive: Isaziso nakali
aktive Silent: Ayikho ukugawulwa kwemithi sibonwa
inaktive Silent: Imithi
Izidingo:
- Min. Android 4.4
- Bluetooth Low Energy (BLE)
- Imishini ebhangqiwe
- Micro: bit sohlelo (lakhiwa ngokwakho)
Isibonelo MBED:
#include "MicroBit.h"
#include "MicroBitUARTService.h"
MicroBit uBit;
MicroBitUARTService * uart;
int axhunyiwe = 0;
yize onConnected (MicroBitEvent e)
{
uBit.display.scroll ( "C");
exhunywe = 1;
}
yize onDisconnected (MicroBitEvent e)
{
uBit.display.scroll ( "D");
exhunywe = 0;
}
yize onButtonA (MicroBitEvent e)
{
uma (== exhunywe 0) {
uBit.display.scroll ( "NC");
buyela emuva;
}
uart-> thumela ( "Yebo");
uBit.display.scroll ( "Y");
}
yize onButtonB (MicroBitEvent e)
{
uma (== exhunywe 0) {
uBit.display.scroll ( "NC");
buyela emuva;
}
uart-> thumela ( "Cha");
uBit.display.scroll ( "N");
}
yize onButtonAB (MicroBitEvent e)
{
uma (== exhunywe 0) {
uBit.display.scroll ( "NC");
buyela emuva;
}
uart-> thumela ( "SK");
uBit.display.scroll ( "SK");
}
zintula processBLEUart () {
uint8_t readBuf [22];
kanti (1) {// loop kuze kube phakade
uma ((! exhunyiwe) || (! uart-> isReadable ())) {
uBit.sleep (50); // Ulinde 50mS ubuye ukhangele njalo
qhubeka; // Loop;
}
// Futhi sisuke axhunyiwe KANYE kukhona abanye input ukufunda
uma (uart-> isReadable ()) {
kanti (uart-> isReadable ()) {
int charCount = uart-> ukufunda (readBuf, 22, Vumelanisa);
uma (charCount! = 0) {
ngoba (int i = 0, i uBit.display.scroll ((Isakare) readBuf [i]);
}
}
}
}
}
/ *
OKUBALULEKILE !!!
Oherwise uyobe uphelelwa inkumbulo!
Ncoma ivimbele DFU kanye Izinkundla namasevisi e MicroBitConfig.h ngoba alidingeki lapha:
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 main ()
{
// Initialise micro: sokusebenza bit.
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 entsha (* uBit.ble, 32, 32);
uBit.display.scroll ( "Hamba");
create_fiber (& processBLEUart); // Ukudala fibre futhi ukuhlela it.
release_fiber ();
}
Kubuyekezwe ngo-
Dis 30, 2020