Форум сайта python.su
Здравствуйте
Вопрос такого плана.
Написал скриптик который опрашивает ардуинку по ком порту.
Иногда ардуинка неправильно отвечает(как именно я еще разбираюсь) и скриптик зависает. Скриптик закрывается и все , теперь до следующей перегрузки я не могу воспользоваться ком портом. Ошибка отказано в доступе. Я пытаюсь прибить процесс
python в диспетчере задач, но он процесс никак не прибивается. Как мне освободить комп порт от плена зависшего скрипта python?
Офлайн
ingfa_19811. Что значит не прибивается? Как это выглядит?
Я пытаюсь прибить процесс
python в диспетчере задач, но он процесс никак не прибивается.
Офлайн
1. ALT CTRL DEL завершить процесс python.exe
2. Запускаю процесс от имени администратора винды win7 и завершаю процесс тоже от имени администратора.
3. Точно надо дописать ser.close в except. Да суть вопроса то не в скрипте я думаю больше в том как
прибить процесс. И чего это он не завершается даже администратором системы.
Офлайн
import serial import numpy as np import time nesushaya = 3400000.00 listChastot = [711.19, 703.89, 714.56, 702.58, 1339.06, 831.99, 1219.29, 1026.77, 967.92,905,93] ser = serial.Serial(port='COM35', baudrate=115200, writeTimeout=0) while True: for i in listChastot: print(("$&a{0}&b{1}&c{2}#".format(nesushaya, nesushaya - i, nesushaya + i))) try: ser.write(("$&a{0}&b{1}&c{2}#".format(nesushaya,nesushaya-i,nesushaya+i)).encode()) time.sleep(1) except: ser.close() break ser.close()
Офлайн
ingfa_1981Винда дело темное. У меня ее нет, и вам не советую. Некоторые тут высказываются что 2/3 времени при работе под виндой тратятся на преодоление глюков и нелогичностей в самой Винде.
И чего это он не завершается даже администратором системы.
#Also supported with context manager: with serial.Serial() as ser: ser.baudrate = 19200 ser.port = 'COM1' ser.open() ser.write(b'hello')
Отредактировано doza_and (Авг. 2, 2021 14:44:51)
Офлайн