No console python, 'pip install pyserial' Verificar em gerenciador qual porta com esta o aduino Talvez mudar a porta usb. Ou tirar e por quando nao tem autorizacao :-\ Esclarecimentos para Conceito B: - getBufferLen: Devolve o tamanho da mensagem (lista de bytes ou arrays) que se encontra no bufferTX ou bufferRX. - getAllBuffer: Função exclusiva do enlaceRX, onde é devolvido o conteúdo presente no bufferRX e depois o bufferRX é esvaziado. - getBuffer: Função exclusiva do enlaceRX, onde é requisitado um certo número de bytes, pegando assim somente um número específico de bytes que foi requisitado, devolvendo-os na função e apagando-os do bufferRX. Ex.: BufferRX = b'\x12\x13\xab', se rx.getBuffer(2), retorna b'\x12\x13' e BufferRX = b'\xab'. - getNData: Função exclusiva do enlaceRX, que serve para chamar a função rx.getBuffer(size), porém que só irá realizar o chamado desta função após o numéro de bytes presentes no BufferRX ser maior ou igual ao número requisitado pelo valor "size" que recebe em sua construção. Caso o "size" seja maior que o tamanho da mensagem armazenada em BufferRX, então ele irá aguardar até que o tamanho da mensagem seja maior ou igual ao seu tamanho. - sendBuffer: Função exclusiva do enlaceTX, que recebe uma mensagem, armazena ela no BufferTX, guarda seu tamanho e abre o threadTX (self.threadMutex = True) para que a mensagem seja enviada para o Arduino. Pergunta: Para a transmissao de bytes, o bufferTX aparentemente está sempre sendo atualizado, porém só ira passar o conteúdo nele presenta caso o Thread TX esteja como True (self.threadMutex = True). Para o recebimento de bytes, o bufferRX só irá ser atualizado e enviado ao computador, caso o Thread RX esteja como True (self.threadMutex = True).