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

Общие вопросы, не зависящие от языка реализации.

Модераторы: Duncon, Eugie, Romeo, Hawk

Ответить
inttel
Сообщения: 2
Зарегистрирован: 07 ноя 2004, 15:28

07 ноя 2004, 15:42

Проблема такая...
Нужно написать прогу чтения данных из памяти трех одновременно подключенных к COM-порту блоков. Как это сделать к примеру на WinAPI или в любой другой среде. Может можно напрямую вставлять ассемблерные вставки?
Acidy
Сообщения: 23
Зарегистрирован: 19 окт 2004, 10:40
Откуда: хз
Контактная информация:

09 ноя 2004, 09:17

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

13 ноя 2004, 22:18

С помощью функций OpenFile, WriteFile, ReadFile я уже написал обмен, а как насчет протокола MODBUS, который предполагается использовать. Вот как задать адрес нужного устройства в строке WriteFile (...), если их подключено несколько на другом конце провода. Может кто знает, как это красиво оформить?
Anton Tyo
Сообщения: 10
Зарегистрирован: 29 июн 2005, 20:54

30 июн 2005, 00:59

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