params[:variant_id]
не будет значением. Вы имели в виду stock_params[:variant_id]
Вы можете управлять RTS и DTR, используя SetCommState ()
. Вы также можете настроить аппаратное управление или драйвер для управления аппаратным потоком (CTS и / или DSR), или вы можете настроить его, используя SetCommMask ()
, чтобы вы получали события при изменении этих сигналов.
Достойный обзор здесь: http://msdn.microsoft.com/en-us/library/ms810467.aspx
Обратите внимание, что Win32 Serial Comm API и / или драйвер могут быть привередливыми, поэтому будьте готовы чтобы сделать некоторую отладку того, что происходит на проводе.
Вы все еще можете сделать Подобные виды программирования только для того, чтобы получить доступ к защищенному оборудованию, вам потребуется реализовать драйвер устройства. Я предполагаю, что это стало легче с 1980-х годов, когда я выполнял такую же работу.
Сейчас Microsoft на самом деле занимается аппаратным подтверждением связи? В течение многих лет NT, win2000 и XP не делали рукопожатие в оборудовании. Вместо этого, когда fifo достигнет определенной точки, драйвер устройства вручную изменит строку cts. Это означает, что было невероятно просто заставить драйвер устройства терять данные, захватить окно с помощью мыши и, например, сделать круг вокруг экрана (убедитесь, что вы снимаете это окно с левой стороны экрана на всех или некоторых проходах ). Alt-enter, чтобы перевести командную строку в / из полноэкранного режима, был простым способом вызвать потерю данных. Или что-нибудь еще, что вызывает достаточную задержку прерывания. В основном аппаратное управление потоком данных microsofts - это не аппаратное, а программное управление потоком, даже если аппаратное обеспечение имеет возможности аппаратного управления потоком, драйверы microsft не устанавливали этот бит.
Я наткнулся на этот учебник, когда мне нужно было сделать проект для связи с портом RS232. Это полный пример того, как открыть порт, установить некоторые свойства, включая таймауты, чтение / запись и закрыть порт. Несмотря на то, что ваш проект, вероятно, уже завершен, я надеюсь, что он останется полезным, поскольку он остается в архивах SO.