2021年11月29日月曜日

UART(mic-both, mic2uno,pico2mic,mic2pico)

------------------ micro and micro -------------------------------------------------

micro:bitの間はボー9600でないといかんようだ 参考までに

serial.onDataReceived(serial.delimiters(Delimiters.NewLine), function on_data_received() {
    basic.showString(serial.readUntil(serial.delimiters(Delimiters.NewLine)))
    basic.pause(500)
})
serial.redirect(SerialPin.P0SerialPin.P1BaudRate.BaudRate9600)
basic.forever(function on_forever() {
    serial.writeLine("u")
    basic.pause(1000)
})


--------------pico to micro ------------------------------------
重要なのは、ボーレートを合わせておくこと! 
を参考に以下のコードをマイクロにおく

serial.onDataReceived(serial.delimiters(Delimiters.NewLine), function () {
    basic.showString(serial.readUntil(serial.delimiters(Delimiters.NewLine)))
})
serial.redirect(
SerialPin.P0,
SerialPin.P1,
BaudRate.BaudRate115200
)
basic.forever(function () {
    
})
を参考に以下をラズピコにおく
from machine import UART,Pin
u = UART(1) # pin6 for tx,pin7 for rx
u.write('test\n')
注意:マイクロとラズピコはGNDを結線するのがポイント、
マイクロの0はTxなので、ラズピコの7、
マイクロの1はRxなのでラズピコの6
これで、無事にマイクロにtestと表示がでる
------ from microbit to pico -----------------
9600baudrateで安全をとって通信した
serial.onDataReceived(serial.delimiters(Delimiters.NewLine), function () {
    basic.showString(serial.readUntil(serial.delimiters(Delimiters.NewLine)))
    basic.pause(500)
})
serial.redirect(
SerialPin.P0,
SerialPin.P1,
BaudRate.BaudRate9600
)
basic.pause(2000)
basic.forever(function () {
    basic.pause(500)
    serial.writeLine("hello")
    basic.pause(500)
})
MicroPython的午睡(21) ラズパイPico、M5AtomLiteとUART通信 | デバイスビジネス開拓団 (jhalfmoon.com)
を参考にピコも9600ボーとした
from machine import Pin,UART
import time
u = UART(1, 9600, tx=Pin(4), rx=Pin(5))
time.sleep(2)
while True:
ret = u.readline()
if ret is not None:
print(ret)
time.sleep(0.5)

0 件のコメント:

コメントを投稿