Colocar Resposta 
 
Avaliação do Tópico:
  • 0 votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
comparar palavra recebida e mostrar o numero de erros recebidos na palavra
26-09-2017, 10:03
Mensagem: #1
comparar palavra recebida e mostrar o numero de erros recebidos na palavra
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))


Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
Colocar Resposta 


Saltar Fórum:


Utilizadores a ver este tópico: 1 Visitante(s)