![]() |
comparar palavra recebida e mostrar o numero de erros recebidos na palavra - Versão de Impressão +- Forum Pplware (http://forum.pplware.com) +-- Fórum: Mais Tech (/forumdisplay.php?fid=11) +--- Fórum: Programação e Web (/forumdisplay.php?fid=16) +--- Tópico: comparar palavra recebida e mostrar o numero de erros recebidos na palavra (/showthread.php?tid=23579) |
comparar palavra recebida e mostrar o numero de erros recebidos na palavra - smiguel - 26-09-2017 10:03 Tenho um erro no meu código que é o seguinte, quando recebo do arduino através do nrf24L01 a palavra pretendo saber o numero de erros que recebe e incrementando ao longo do tempo esse mesmo numero de erros, só que no meu código dá-me este erro: aux=aux + abs((chr(n)-palavra)>0) TypeError: unsupported operand type(s) for -: 'str' and 'str' esta parte do código é para indicar o numero de erros que vem na palavra. o meu código é o seguinte: import RPi.GPIO as GPIO from lib_nrf24 import NRF24 import time import spidev import binascii import string import math GPIO.setmode(GPIO.BCM) pipes = [[0xE8, 0xE8, 0xF0, 0xF0, 0xE1], [0xF0, 0xF0, 0xF0, 0xF0, 0xE1]] radio = NRF24(GPIO, spidev.SpiDev()) radio.begin(0, 17) radio.setCRCLength(NRF24.CRC_DISABLED) radio.setPayloadSize(32) radio.setChannel(0x76) radio.setPALevel(NRF24.PA_MIN) radio.setDataRate(NRF24.BR_1MBPS) radio.setAutoAck(False) radio.openReadingPipe(1, pipes[1]) radio.enableAckPayload() radio.enableDynamicPayloads() radio.openReadingPipe(1, pipes[1]) radio.disableCRC() radio.printDetails() radio.startListening() palavra ="01234567890123456789012345678910" while (1): # ackPL = [1] while not radio.available(0): time.sleep(1 / 100) receivedMessage = [] radio.read(receivedMessage, radio.getDynamicPayloadSize()) print("RX {}".format(receivedMessage)) string = "" aux=0 for n in receivedMessage: string += chr(n) aux = aux + abs((chr(n)-palavra)) print("Valor aux: ".format(aux)) |