| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > Прием данных через com-порт |
| Автор: Fantom87 3.1.2012, 13:35 | ||
| Доброго времени суток. Задача такая... Микроконтроллер посылает на com-порт данные по протоколу RS-232. Через Hyperterminal эти данные вижу, всё работает. Подскажите пожалуйста, как теперь программно обработать эти данные? Программку пишу в C++Builder. Решил пойти по пути использования WinAPI. Открытие порта проходит нормально, как я понимаю...
Проблема теперь в том, как данные с этого порта прочитать и вывести куда-нибудь, в тот же Edit, к примеру. Расскажите пожалуйста поподробнее, как это сделать. Или просто готовый код киньте, разберусь. |
| Автор: Dem_max 3.1.2012, 13:40 |
| тут посмотреть http://sources.ru/cpp/cpp_system.shtml#7 |
| Автор: bass 3.1.2012, 15:53 | ||
Делал вот так запустив в отдельном потоке.. Правда желательно пользоваться потоками которые создаются инструментами билдера... |
| Автор: xvr 3.1.2012, 19:07 |
| В Builder'е вызывать метода объектов VCL из отдельных потоков категорически нельзя. Для этого нужно пользоваться классом TThread и его методом Synchronize. Так же не имеет особого смысла открывать СОМ порт в OVERLEPPED режиме (если его Read/Write запущенны в отдельном потоке) |
| Автор: Fantom87 4.1.2012, 17:12 |
| Нашел! Вот отличная статья с описанием и исходниками в C++Builder'е http://piclist.ru/S-COM-THREAD-RUS/S-COM-THREAD-RUS.html Всем спасибо! |
| Автор: Dem_max 5.1.2012, 09:01 | ||
Я тебе примерно как минимум 3 примера привел, один из которых исходник от Microsoft, видимо ты читать не умеешь |