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

Odczyt protokołu UART

VPS Starter Arubacloud
0 głosów
641 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 (41,370 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ź 609 wizyt
pytanie zadane 9 sierpnia 2018 w Nasze projekty przez Kamil110501 Bywalec (2,490 p.)
0 głosów
1 odpowiedź 584 wizyt
pytanie zadane 5 sierpnia 2018 w Mikrokontrolery przez Kamil110501 Bywalec (2,490 p.)
0 głosów
0 odpowiedzi 480 wizyt

92,774 zapytań

141,698 odpowiedzi

320,532 komentarzy

62,108 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

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!

...