• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Odczyt protokołu UART

Object Storage Arubacloud
0 głosów
587 wizyt
pytanie zadane 22 października 2019 w Python przez ditro_ Nowicjusz (120 p.)

Cześć, 

Mam w pracy do odczytu prędkość kompresora, który jest sterowany poprzez protokół UART. Program, który posiadam pozwala mi niestety zapisać ramki tylko w formie ciągu (bez rozróżnienia kolejnych ramek) do pliku .txt. Mnie interesuje wartość tylko dwóch bajtów, które są bo 'FF'. Następnie muszę połączyć te dwa bajty (np. 10 i 50 w 1050) i przekonwertować na z hex na dec. Do wygodnego odczytu zrobiłem sobie taki skrypt w pythonie:

import os
path=r'c:\temp\speed'
file=input('Podaj nazwe pliku: ')
file_path=open(os.path.join(path,file),'r')
zapis=os.path.join(path,'zapis.txt')
zapis_file=open(zapis,'w+')
for line in file_path.readlines():
    words=line.split(' ')
    for i in words:
        if i=='FF': 
            n=words.index(i)
            speed=(words[n+1])+(words[n+2])
            speed_dec=int(speed,16)
            speed_str=str(speed_dec)
            zapis_file.write(speed_str)
            zapis_file.write('\n')
print('Zapisywanie zakończone')
zapis_file.close()
file_path.close()

Zastanawia mnie jednak ta część ze zmiennymi speed_dec i speed_str  - otóż nie mogłem zapisać wyniku do pliku kiedy wartość speed_dec była zmienną int (stąd konwersja na str). Czy ktoś mógłby wyjaśnić co zrobiłem nie tak?

 

btw. uczę się programowania do ok. miesiąca więc prosze o łopatologiczne wyjaśnienia;-)

1 odpowiedź

0 głosów
odpowiedź 22 października 2019 przez reaktywny Nałogowiec (40,990 p.)
edycja 22 października 2019 przez reaktywny

Możesz użyć:

zapis_file.write('{}\n'.format( speed_dec ))

zamiast:

 speed_str=str(speed_dec)
 zapis_file.write(speed_str)
 zapis_file.write('\n')

write przyjmuje tylko stringi.

 

 

Podobne pytania

0 głosów
1 odpowiedź 583 wizyt
pytanie zadane 9 sierpnia 2018 w Nasze projekty przez Kamil110501 Bywalec (2,490 p.)
0 głosów
1 odpowiedź 563 wizyt
pytanie zadane 5 sierpnia 2018 w Mikrokontrolery przez Kamil110501 Bywalec (2,490 p.)
0 głosów
0 odpowiedzi 437 wizyt

92,572 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...