Страница 1 из 1

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

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

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

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

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