micro:bit UART Terminal

10ย เบžเบฑเบ™+
เบ”เบฒเบงเป‚เบซเบผเบ”
เบ›เบฐเป€เบžเบ”เป€เบ™เบทเป‰เบญเบซเบฒ
เบ—เบธเบเบ„เบปเบ™
เบฎเบนเบšเปœเป‰เบฒเบˆเป
เบฎเบนเบšเปœเป‰เบฒเบˆเป
เบฎเบนเบšเปœเป‰เบฒเบˆเป
เบฎเบนเบšเปœเป‰เบฒเบˆเป

เบเปˆเบฝเบงเบเบฑเบšเปเบญเบฑเบšเบ™เบตเป‰

app เบ™เบตเป‰เบชเบทเปˆเบชเบฒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡ Android เปเบฅเบฐ micro: เบญเบธเบ›เบฐเบเบญเบ™เบ™เป‰เบญเบ. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเบปเปˆเบ‡เปเบฅเบฐเบฎเบฑเบšเบ‚เปเป‰เบ„เบงเบฒเบกเปƒเบ™เปเบšเบš 'เปเบˆเป‰เบ‡เบเบฒเบ™' เบซเบผเบท 'เบเบฒเบ™เบŠเบตเป‰เปเบˆเบ‡'. เบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™ UART เบเบฑเบ‡เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบ™เบญเบธเบ›เบฐเบเบญเบ™ micro: เบšเบดเบ” (Block, Javascript, MBED).

เบ•เบปเบงเป€เบฅเบทเบญเบ:
- เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ: เป„เบกเป‚เบ„เบฃเป€เบŠเบกเบŠเบฑเบ™เบ•เบปเป‰เบ™เบ•เป: เบšเบดเบ” (เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ—เบฒเบ‡เป‚เบซเบกเบ”เปเบˆเป‰เบ‡)
-LF: Linefeed added
- CR: เบเบฒเบ™เบชเบปเปˆเบ‡เบ„เบทเบ™เบเบฒเบ™เบ™เปเบฒเบฅเบปเบ”

เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™:
-Min Android 5
- Bluetooth Low Energy (BLE)
- เบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเบˆเบฑเบšเบ„เบนเปˆ
- micro: bit programm (เบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ”เบเบ•เบปเบงเบ—เปˆเบฒเบ™เป€เบญเบ‡)

V 21: เบชเปเบฒเป€เบ™เบปเบฒเป„เบ›เบเบฑเบ‡เบ„เบฅเบดเบšเบšเบญเบ” (เป€เบกเบ™เบนเบ•เบปเบงเป€เบฅเบทเบญเบ)
V 22: Clear List (Option Menu), No Option Log
V 25: เป‚เบซเบกเบ” Hex

เบ•เบปเบงเบขเปˆเบฒเบ‡ MBED:

#include "MicroBit.h"
#include "MicroBitUARTService.h"
#include "BMP180h"

MicroBit uBit
MicroBitUARTService * uart
BMP180 bmp180 (P0_30, P0_0)
char buffer [80]
เบ„เบงเบฒเบกเบเบปเบ”เบ”เบฑเบ™เบ‚เบญเบ‡เบ„เบงเบฒเบกเป€เบฅเบทเปˆเบญเบ™, เบญเบธเบ™เบซเบฐเบžเบนเบก;
ย ย ย ย ย ย ย ย 
int connected = 0

void onConnected (MicroBitEvent e)
{
ย ย ย ย uBitdisplayscroll ("C")
ย ย ย ย เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ = 1
}

void onDisconnected (MicroBitEvent e)
{
ย ย ย ย uBitdisplayscroll ("D")
ย ย ย ย เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ = 0
}


void onButtonA (MicroBitEvent e)
{
ย ย ย ย uBitdisplayscroll (buffer)
}

void onButtonB (MicroBitEvent e)
{
ย ย ย ย uBitdisplayscroll ("SK")
}

/ *
IMPORTANT !!!
Oherwise เบ—เปˆเบฒเบ™เบˆเบฐเบซเบกเบปเบ”เบญเบญเบเบˆเบฒเบเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒ!

เบ‚เปเปเบ™เบฐเบ™เปเบฒเบเบฒเบ™เบ›เบดเบ”เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ DFU เปเบฅเบฐเป€เบซเบ”เบเบฒเบ™เปƒเบ™ MicroBitConfig.h เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบžเบงเบเป€เบ‚เบปเบฒเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบกเบตเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰:
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 ()
{
ย ย ย ย bmp180Initialize (64, BMP180_OSS_ULTRA_LOW_POWER)
ย ย ย ย เบ„เบงเบฒเบกเบเบปเบ”เบ”เบฑเบ™ = -1
ย ย ย ย เบญเบธเบ™เบซเบฐเบžเบนเบก = -1
ย ย ย ย เบ–เป‰เบฒ (bmp180ReadData (& เบญเบธเบ™เบซเบฐเบžเบนเบกเบด & เบ„เบงเบฒเบกเบ”เบฑเบ™))
ย ย ย ย ย ย ย ย sprintf (buffer, "% 2f C% 40f hPa", เบญเบธเบ™เบซเบฐเบžเบนเบก, เบ„เบงเบฒเบกเบเบปเบ”เบ”เบฑเบ™);
ย ย ย ย เบญเบทเปˆเบ™ เป†
ย ย ย ย ย ย ย ย sprintf (buffer, "NOK");
ย ย ย ย ย ย ย ย ย ย ย ย ย ย 
ย ย ย ย // Initialise micro: bit runtime
ย ย ย ย uBitinit ()

ย ย ย ย uBitmessageBuslisten (MICROBIT_ID_BLE, MICROBIT_BLE_EVT_CONNECTED, onConnected)
ย ย ย ย uBitmessageBuslisten (MICROBIT_ID_BLE, MICROBIT_BLE_EVT_DISCONNECTED, onDisconnected)
ย ย ย ย uBitmessageBuslisten (MICROBIT_ID_BUTTON_A, MICROBIT_BUTTON_EVT_CLICK, onButtonA)
ย ย ย ย uBitmessageBuslisten (MICROBIT_ID_BUTTON_B, MICROBIT_BUTTON_EVT_CLICK, onButtonB)

ย ย ย ย uart = new MicroBitUARTService (* uBitble, 32,32)
ย ย ย ย uBitdisplayscroll (":)")
ย 
ย ย ย ย เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆ (1)
ย ย ย ย {
ย ย ย ย ย ย ย ย เบ„เบงเบฒเบกเบเบปเบ”เบ”เบฑเบ™ = -1
ย ย ย ย ย ย ย ย เบญเบธเบ™เบซเบฐเบžเบนเบก = -1
ย ย ย ย ย ย ย ย เบ–เป‰เบฒ (bmp180ReadData (& เบญเบธเบ™เบซเบฐเบžเบนเบกเบด & เบ„เบงเบฒเบกเบ”เบฑเบ™))
ย ย ย ย ย ย ย ย ย ย ย ย sprintf (buffer, "% 2f C% 40f hPa", เบญเบธเบ™เบซเบฐเบžเบนเบก, เบ„เบงเบฒเบกเบเบปเบ”เบ”เบฑเบ™);
ย ย ย ย ย ย ย ย เบญเบทเปˆเบ™ เป†
ย ย ย ย ย ย ย ย ย ย ย ย sprintf (buffer, "NOK");
ย ย ย ย ย ย ย ย ย ย ย ย 
ย ย ย ย ย ย ย ย เบ–เป‰เบฒ (! เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ) {
ย ย ย ย ย ย ย ย ย ย ย ย uBitlele (500)
ย ย ย ย ย ย ย ย }
ย ย ย ย ย ย ย ย เบญเบทเปˆเบ™ เป†
ย ย ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย ย ย ย ย uart-> send (buffer);
ย ย ย ย ย ย ย ย ย ย ย ย uBitlele (1000)
ย ย ย ย ย ย ย ย }
ย 
ย ย ย ย }
ย ย ย ย 
ย ย ย ย release_fiber ()
}
เบญเบฑเบšเป€เบ”เบ”เปเบฅเป‰เบงเป€เบกเบทเปˆเบญ
26 เบž.เบž. 2019

เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™

เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเป€เบฅเบตเปˆเบกเบ”เป‰เบงเบเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเปˆเบฒเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบเบฑเบšเบเบณ เปเบฅเบฐ เปเบšเปˆเบ‡เบ›เบฑเบ™เบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปเบ™เบงเปƒเบ”. เบงเบดเบ—เบตเบ›เบฐเบ•เบดเบšเบฑเบ”เบเปˆเบฝเบงเบเบฑเบšเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบ•เบปเบง เปเบฅเบฐ เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบญเบฒเบ”เบˆเบฐเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบญเบตเบ‡เบ•เบฒเบกเบเบฒเบ™เบ™เบณเปƒเบŠเป‰, เบžเบฒเบเบžเบทเป‰เบ™ เปเบฅเบฐ เบญเบฒเบเบธเบ‚เบญเบ‡เบ—เปˆเบฒเบ™. เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเปƒเบซเป‰เบ‚เปเป‰เบกเบนเบ™เบ™เบตเป‰ เปเบฅเบฐ เบญเบฒเบ”เบˆเบฐเบญเบฑเบšเป€เบ”เบ”เบกเบฑเบ™เป€เบกเบทเปˆเบญเป€เบงเบฅเบฒเบœเปˆเบฒเบ™เป„เบ›.
เบšเปเปˆเป„เบ”เป‰เป„เบ”เป‰เปเบšเปˆเบ‡เบ›เบฑเบ™เบ‚เปเป‰เบกเบนเบ™เบเบฑเบšเบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเบชเบฒเบก
เบชเบถเบเบชเบฒเป€เบžเบตเปˆเบกเป€เบ•เบตเบก เบเปˆเบฝเบงเบเบฑเบšเบงเปˆเบฒเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบ›เบฐเบเบฒเบ”เบเบฒเบ™เปเบšเปˆเบ‡เบ›เบฑเบ™เบ‚เปเป‰เบกเบนเบ™เปเบ™เบงเปƒเบ”
เบšเปเปˆเป„เบ”เป‰เป€เบเบฑเบšเบเบณเบ‚เปเป‰เบกเบนเบ™
เบชเบถเบเบชเบฒเป€เบžเบตเปˆเบกเป€เบ•เบตเบก เบเปˆเบฝเบงเบเบฑเบšเบงเปˆเบฒเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบ›เบฐเบเบฒเบ”เบเบฒเบ™เป€เบเบฑเบšเบเบณเบ‚เปเป‰เบกเบนเบ™เปเบ™เบงเปƒเบ”
เบกเบธเปˆเบ‡เปเบฑเป‰เบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ™เบฐเป‚เบเบšเบฒเบเบ„เบญเบšเบ„เบปเบงเบ‚เบญเบ‡ Play

เบกเบตเบซเบเบฑเบ‡เปƒเปเปˆ

HEX mode

เบเปˆเบฒเบเบŠเปˆเบงเบเป€เบซเบผเบทเบญเบ‚เบญเบ‡เปเบญเบฑเบš

เบเปˆเบฝเบงเบเบฑเบšเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบญเบฑเบš
Ferdinand Stรผckler
stuecklerf@gmail.com
Professor-Franz-Spath-Ring 41/19 8042 Graz Austria

เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเปเบเบเบ•เบฒเบก Ferdinand Stueckler

เปเบญเบฑเบšเบ—เบตเปˆเบ„เป‰เบฒเบเบเบฑเบ™