logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Python nie zawsze następuje konwersja ascii do hex

luczky11 04 Kwi 2020 16:58 519 0
REKLAMA
  • #1 18588423
    luczky11
    Poziom 10  
    Posty: 54
    Pomógł: 1
    Ocena: 8
    Napisałem prosty skrypt w Pythonie, aby odczytywał po serialu sterownik solarów i wysyłał dane do domoticza. Oto jego kawałek - odpowiedzialny za wysłanie jednej z 5 wartości:
    Kod: Python
    Zaloguj się, aby zobaczyć kod


    Otrzymaną ze sterownika 11 bajtową ramkę odpowiedzi zapisuję do tablicy, a następnie odpowiednie pola konwertuję do wartości decymalnej (binascii.b2a_hex). I tu pojawia się problem, bo konwesja nie zawsze następuje i wyrzuca błąd:
    Kod: Bash
    Zaloguj się, aby zobaczyć kod

    Czasami jednak skrypt idzie do końca i wysyła wszystkie 5 wartości, a czasami wiesza się z tym samym błędem w innym miejscu.
    Pomożecie ?

    Dodano po 2 [godziny] 58 [minuty]:

    Nikomu nie muszę dziękować, bo w końcu sam sobie poradziłem.
    Nie chciałem się wdrażać w pythona, bo to mi chyba nie będzie potrzebne, ale że nikt mi nie pomógł to poszperałem jeszcze trochę.
    Zamieniłem :
    numero1 = binascii.b2a_hex(numer1)
    na
    ord(numer1) i potem już z górki.

    Na razie działa i już się nie wywala.
  • REKLAMA
REKLAMA