from machine import Pin, UART
import utime
keyb = bytearray(4)
mouse = bytearray(7)
UART1 = UART(1, baudrate=115200, bits=8, parity=None, stop=1)
button1 = machine.Pin(7, machine.Pin.IN, machine.Pin.PULL_UP)
button2 = machine.Pin(6, machine.Pin.IN, machine.Pin.PULL_UP)
keyb = [0xFE,0x04,0x00,0x00,0x00]
#mouse = [0XFD,0x05,0x02,0x00,0x00]
while True:
if button1.value() == 1:
keyb[3]=(0x00)
elif button1.value() == 0:
keyb[3]=(0x1b)
if button2.value() == 1:
keyb[4]=(0x00)
elif button2.value() == 0:
keyb[4]=(0x1d)
UART1.write(bytes(keyb))
utime.sleep(0.09)
#print(bytes(keyb))
Mam taki problem, chciałbym wysłać do buforu tablice hexów po naciśnięciu przycisku dany element w tablicy jest nadpisany . Nie znalazłem nic o buforze protokołu UART w sieci dlatego powstał taki kod, który podmienia jeden element po naciśnięciu przycisku i wysyła poprawnie raport, ale drugi if nie działa i powoduje nadpisanie całego raportu i reset połączenia. Nie wiem czy dla tak prostej operacji muszę zagłębić się w topologię fifo i DMA ?