Вот именно, что пока
Если у кого есть работающее железо - скажите, вышеизложенные рассуждения соответствуют действительности, али как ???
Теория - это одно, а жизнь - другое.
В принципе, железо у меня есть (в нескольких экземплярах), но руки пока не доходят...
Сейчас делаю комплект п/плат для Изделия, пойдут в изготовление -- куплю "хороший" осциллограф и, вот тогда уже, начну плотно работать с софтом.
Однако, Netspirit, поставил задачу возможности некоторого "кольцевания". Она может иметь смысл, если распознавать еще и ошибки приема (тоже задача, между прочим, хотя там и нет принципиальных сложностей).
Ну начал он сыпать какими то там FrameError -- закрыть при этом порт без плясок с бубном, не самое плохое было бы.
Моя мысль пока такая: CloseCom состоит только из установки Event-а на закрытие одного из потоков.
Он, выйдя из "вечного цикла", устанавливает Event на закрытие другого потока.
Который, в свою очередь выйдя из "вечного цикла", убивает файл (CloseHandle(hFile)).
Сами потоки в режиме AutoFree, конечно же.
Закольцевать doOpen не получится, а вот doClose - вполне себе.
В качестве окончательной "шлифовки" можно было бы завести опциональное формирование пакета. На все случаи жизни ответа не дашь, конечно же.
Но, даже "опциональная парочка" могла бы принести пользу.
Например - таймаут, и концевой символ. Если св-ва "пустые" - то как и сейчас, пусть юзер этим занимается.
А вот коллеге kaban4ik-у, уже помощь была бы (см. его схему в этом топике).
У Modbus-ASCII - кажется (в смысле - по памяти) символ ';' является концевым для пакета.
Ну это такой как бы план, как бы работы
Ответов: 9906
Рейтинг: 351
|
|||
карма: 9 |
| ||
файлы: 1 | Интерфейсная плата.rar [523.3KB] [892] |
Редактировалось 1 раз(а), последний 2017-05-24 16:16:44