2

2 つの BBC Micro Bit があり、無線機能を使用して 1 つのスレーブからマスター Micro Bit にデータを転送します。データが転送されると、ランダムな改行が返されます。何が問題なのかわかりません。ランダムな CR などを削除しようとしましたが、それでも同じ問題が発生します。

a=1、オン、

12

=2、

オフ、77

=3、

オン、88

================================================== =

ゲートウェイ コード

from microbit import *
import radio

radio.config(group=0)
radio.on()

while True:
   incoming = radio.receive()
   if incoming:
      uart.write(incoming)  

==============================================

スレーブコード

from microbit import *
import radio

radio.config(group=0)
radio.on()

while True:
  if button_a.was_pressed():
      radio.send('Matt,A=On,Off' + '\n')  # a-ha
      display.scroll("A")

  if button_b.was_pressed():
      radio.send('Matt,B=On,Off' + '\n')  # a-ha
      display.scroll("B")

================================================== =======

Pyシリアルコード

import sys
import glob  
import serial


def serial_ports():
    ports = ['COM%s' % (i + 1) for i in range(256)]

result = []
for port in ports:
    try:
        s = serial.Serial(port)
        s.close()
        result.append(port)
    except (OSError, serial.SerialException):
        pass
return result


if __name__ == '__main__':
  print(serial_ports())
try:
ser = serial.Serial('COM5', 115200, timeout = 0)
print("connected to: " + (ser.portstr))
except serial.SerialException:
pass

while True:
line = ser.readline().decode('utf-8')
# Read a line and convert it from b'xxx\r\n' to xxx 

if line:  # If it isn't a blank line
    f = open('output.csv', 'a+')
    f.write(line + '\n')
    print(line)
    f.close()

ser.close()
4

1 に答える 1