Чтение и запись в COM порт
Запись от popryduhin размещена 11.11.2016 в 09:09
Показов 9362
Комментарии 32
|
Здравствуйте дорогие программисты и «не»! Хочу представить вам на обозрение совсем сырую DLL библиотеку по работе с ком портом. На основе класса TBComPort Почему собственно я хочу это сделать? Мне нужно понять, на правильном ли пути Я? У себя проверял, работает! Написал для удобства использования многократно. Успешно посылаю команды на Arduino и обратно Собственно код для подключения 1. Создаем новое приложение. 2. Подключаем библиотеку.
https://yadi.sk/d/DvN3XAncyNbb5 Код потерпел некоторые изменения, а в частности конструкция
| |||||||||||||||
Размещено в Delphi
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 32
Комментарии
-
да кстатия ловил исключения. не так уж все и плохоDelphi 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
function COMOpen : boolean; begin try result := BComPort.Open; BComPort.FOpened := result; except on E : Exception do begin MessageBox(BComPort.Handle, PWideChar('Class: '+E.ClassName+#10#13+ E.Message), 'Ошибка',MB_OK or MB_ICONERROR); end; end; end;
Запись от popryduhin размещена 11.11.2016 в 22:53
-
Да все еще хуже...
А что если разработчику нафиг сдался ваш убогий MessageBox?
Может у него стилизированное приложение, окно в розовый горошек и все такое, а вы ему бамс и серый мессаджБОКс.
Да и может разработчику ложить на ваше исключение, ну нужно ему по логике программы игнорить исключения, например для проверки занятости компорта.Запись от Avazart размещена 11.11.2016 в 22:56
-
Итог то какой? Ты хочешь сказать что бы я закинул это дело гиблое?Запись от popryduhin размещена 11.11.2016 в 22:58
-
Ага бросай программирование, одевайся в черный прикид и записывайся в готы.
А если серьезно:
1 В разных ЯП есть свои классы для работы с COM-портом, нет смысла писать такое, разве что dll заточена под конкретное устройство с соблюдением протокола итп.
2. Я указал как можно решить проблему с ошибками, остается подумать и исправить/доработать/переписать.Запись от Avazart размещена 11.11.2016 в 23:03
-
в Ёги
Сообщение от Avazart
Запись от popryduhin размещена 11.11.2016 в 23:04
-
Вот логически рассудить если, Arduino шлет строку в ком порт я ее получаю, какие проблемы?Запись от popryduhin размещена 11.11.2016 в 23:06
-
Мм кто очень умный в этот момент выдергивает вашу дуню руками и компа, что произойдет?
Или вы не заметили как запустили второй экземпляр программы и долго чешите репу почему ничего не принимается(порт уже занят первым экземпляром программы "Отказано в доступе")
http://screencast.com/t/1z5BICB83
Кстати в компоненте я бы использовал виндовсовское описание ( GetLastError()+FromatMessage() ) , а не зашивал в массив.Запись от Avazart размещена 11.11.2016 в 23:10
-
Даже не подумал что такие бывают
Сообщение от Avazart

Запись от popryduhin размещена 11.11.2016 в 23:12
-
Запись от Avazart размещена 11.11.2016 в 23:18
-
Запись от HighPredator размещена 14.11.2016 в 14:30
-
А Вы все делаете что вам говорят?
Сообщение от HighPredator
Речь конкретно шла о концепции передачи информации, просто сменили тему.Запись от popryduhin размещена 14.11.2016 в 22:11
-
Запись от HighPredator размещена 15.11.2016 в 08:51




