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;-)