Последовательная ошибка: не удалось открыть порт «COM5»: PermissionError... при попытке отправить байт через виртуальныйPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Последовательная ошибка: не удалось открыть порт «COM5»: PermissionError... при попытке отправить байт через виртуальный

Сообщение Anonymous »

Я пытаюсь запустить 2 очень простых тестовых сценария: сценарий чтения и сценарий тестирования записи через последовательную связь с использованием обратной связи. У меня есть сценарий чтения в цикле while для чтения полученных байтов. У меня есть сценарий записи, отправляющий один байт каждый раз, когда я его запускаю. Проблема, с которой я столкнулся, заключается в том, что я пытаюсь настроить связь через виртуальный последовательный порт, установленный на COM5, с использованием обратной связи. Сценарий чтения подключается и открывает порт, а сценарий записи пытается выполнить запись через этот порт в сценарий чтения. Но когда я запускаю сценарий записи, он выдает следующую ошибку: Serial.serialutil.SerialException: не удалось открыть порт «COM5»: PermissionError(13, «Доступ запрещен.», Нет, 5)
Я пытался отключить и снова включить порт через диспетчер устройств, я попытался перезапустить драйвер виртуального последовательного порта (VSPD) и попытался перезагрузить компьютер. Я могу контролировать открытие и закрытие последовательного порта через VSPD, и он открывается и закрывается правильно. Он также получает байты, когда я запускаю сценарий записи, когда сценарий чтения не активен. Ниже я разместил свой код и настройку VSPD, верхний комментарий описывает код, является ли это скриптом чтения или записи:

Код: Выделить всё

# Serial write Script

import serial

# Configure the serial port
ser = serial.Serial(
port='COM5',
baudrate=9600,
bytesize=serial.EIGHTBITS,  # 8 bits per byte
parity=serial.PARITY_NONE,  # No parity
stopbits=serial.STOPBITS_ONE,  # 1 stop bit
timeout=0.5  # Timeout in seconds
)

# Send a byte
byte_to_send = b'\x41'  # Example byte to send (here, ASCII 'A')

ser.write(byte_to_send)
print(f"Sent byte: {byte_to_send}")

# Close the serial port
ser.close()

Код: Выделить всё

#Serial read script

import serial
import time

# Configure the serial port
ser = serial.Serial(
port='COM5',
baudrate=9600,
bytesize=serial.EIGHTBITS,  # 8 bits per byte
parity=serial.PARITY_NONE,  # No parity
stopbits=serial.STOPBITS_ONE,  # 1 stop bit
timeout=0.5  # Timeout in seconds
)

try:
while True:

# Read a byte
byte_received = ser.read(1)  # Read one byte
print(f"Received byte: {byte_received}")

# Optional: Add a small delay to reduce CPU usage
time.sleep(0.1)  # Adjust as needed

except KeyboardInterrupt:
print("Interrupted")
finally:
# Ensure the serial port is properly closed
if ser.is_open:
ser.close()
print("Serial port closed")
Образ драйвера виртуального последовательного порта

Подробнее здесь: https://stackoverflow.com/questions/787 ... ng-to-send
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как я могу предотвратить ошибку PermissionError при попытке удалить .GIF, ранее «запущенный» в QLabel PySide6?
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Java.net.SocketTimeoutException: не удалось подключиться к /10.0.2.2 (порт 443) из /10.0.2.15 (порт 43794) через 2000 мс
    Anonymous » » в форуме JAVA
    0 Ответы
    68 Просмотры
    Последнее сообщение Anonymous
  • Java.net.SocketTimeoutException: не удалось подключиться к /10.0.2.2 (порт 443) из /10.0.2.15 (порт 43794) через 2000 мс
    Anonymous » » в форуме Android
    0 Ответы
    64 Просмотры
    Последнее сообщение Anonymous
  • Как я могу создать виртуальный порт на Linux? (C ++)
    Anonymous » » в форуме C++
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Как я могу создать виртуальный порт на Linux? (C ++)
    Anonymous » » в форуме C++
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»