PDA

Просмотр полной версии : Работа с COM портами. Как указать адрес устройства



inttel
07.11.2004, 15:42
Проблема такая...
Нужно написать прогу чтения данных из памяти трех одновременно подключенных к COM-порту блоков. Как это сделать к примеру на WinAPI или в любой другой среде. Может можно напрямую вставлять ассемблерные вставки?

Acidy
09.11.2004, 09:17
С ком-портами в ВИНДАХ работаешь как с файлами открывая API-функцией CreateFile(). Первым параметром "засылаешь" в функцию имя порта примерно так: "COMn", где n номер порта соответственно. Если порт открыт, пишешь и читаешь с него так же как из файла.

inttel
13.11.2004, 22:18
С помощью функций OpenFile, WriteFile, ReadFile я уже написал обмен, а как насчет протокола MODBUS, который предполагается использовать. Вот как задать адрес нужного устройства в строке WriteFile (...), если их подключено несколько на другом конце провода. Может кто знает, как это красиво оформить?

Anton Tyo
30.06.2005, 00:59
SetCommState
SetCommTimeouts
SetupComm функции по настройки COM порта, я так понял что с этим ты уже разобрался.
По поводу реализации обмена проблем не вижу. Шлешь запрос слейву (WriteFile), читаешь ответ (ReadFile). Где грабли, где у тебя затык?