Я использую программу C с терминами для обмена информацией и командами между моим компьютером с Ubuntu и контроллером двигателя USB.Как отключить USB-устройство под Ubuntu и C/C++ без перезагрузки
Он отлично работает, и я могу успешно отправлять сообщения через последовательный порт; однако иногда бывает так, что если я закрываю программу неправильно или что-то еще происходит, я больше не могу подключаться к своему USB-устройству.
Чтобы снова подключиться к устройству, мне нужно перезагрузить компьютер и снова запустить ubuntu.
Я хотел бы избежать этой проблемы и найти решение, позволяющее снова включить порт usb, не перезагружая мою систему каждый раз.
В первый раз я попытался убить все процессы (sudo killall -9 program_name), которые использовали порт usb, но порт по-прежнему заблокирован, и я должен перезагрузить его.
Можете ли вы предложить мне некоторые решения, чтобы избежать перезагрузки, пожалуйста? И почему это происходит?
подключить к USB порту (/ DEV/ttyACM0) следующим образом:
handle = open(port.c_str(), O_RDWR |O_NOCTTY | O_NDELAY);
if(handle == RQ_INVALID_HANDLE)
{
cout<<"failed."<<endl;
return RQ_ERR_OPEN_PORT;
}
+1. Это часто случается с моим портом USART Arduino. –
Что произойдет, если вы физически отключите/подключите устройство? Я ожидаю, что устройство будет зарегистрировано на новом '/ dev/xyz', но вы должны иметь возможность подключиться к этому устройству. –
было бы неплохо избежать перезагрузки каждый раз! :( –