Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
0 / 0 / 1
Регистрация: 09.04.2015
Сообщений: 21

Подключение к COM - порту

13.01.2017, 15:56. Показов 5594. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, делаю подключение платы к программе на c#, общение должно происходить по RS-485, по протоколу WAKE.
Плата работает правильно(проверял через программу WakeUp!, все команды понимает все нормально), авторы протокола WAKE дали в открытый доступ dll для работы с платой по их протоколу но она написана на С++, я делаю вот такой импорт функций из dll
C#
1
2
3
4
5
6
  
        [DllImport("wsp32.dll", CallingConvention = CallingConvention.Cdecl)]
        public static extern bool AccessCOM(char[] P);
 
        [DllImport("wsp32.dll", CallingConvention = CallingConvention.Cdecl)]
        public static extern bool OpenCOM(char[] P, int baud);
в с++ это выглядит вот так
C++
1
2
bool AccessCOM(char *P)
bool OpenCOM(char *P, DWORD baud)
собственно
bool AccessCOM(char *P) - функция проверяет доступность порта. В качестве параметра передается имя порта (например, "COM1"). Возвращает true в случае доступности порта.

bool OpenCOM(char *P, DWORD baud) - функция открывает порт. В качестве параметров передаются имя порта (например, "COM1") и скорость в бодах, которая может принимать одно из стандартных значений (например, 115200). Возвращает true в случае успешного выполнения. Функция устанавливает на линии DTR уровень -12В, а на линии RTS уровень +12В.

Пытаюсь проверить порт на доступность функцией AccessCOM и она возвращает True, то есть с портом все нормально и можно подключаться, но когда я выполняю функцию OpenCOM то мне возвращается False, помогите, не могу понять что делаю не так
C#
1
2
3
4
5
6
7
            char[] nameCom = new char[4] { 'C', 'O', 'M', '1' };
 
            bool chek = AccessCOM(nameCom);
            MessageBox.Show(chek.ToString());
 
            chek = OpenCOM(nameCom, 57600);
            MessageBox.Show(chek.ToString());
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.01.2017, 15:56
Ответы с готовыми решениями:

Подключение к порту с паролем
Как подключить к порту 5650? C# Для подключения требуется ввести DNS(ip) и пароль. Добавлено через 21 минуту TcpClient...

Автоматическое подключение к com порту
Не получается найти ошибку в проге(не передает com порт) Программа определяет все доступные com порта, далее принимает сигнал и проверяет...

Подключение кнопки к порту
Есть физический переключатель (1 положение - замкнуто 2 проводка, 2- разомкнуто). Подключаю один провод из этого переключателя к питанию...

22
0 / 0 / 1
Регистрация: 09.04.2015
Сообщений: 21
13.01.2017, 19:20  [ТС]
Студворк — интернет-сервис помощи студентам
insite2012, несколько вариантов попробовал и получаю число 247, а должен 0x81, что я опять набокопорил?

Добавлено через 7 минут
insite2012, странно, много вариаций попробовал но почему то получаю 0xF7, а должен 0x81
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
13.01.2017, 19:40
Цитата Сообщение от IIiKoBiT Посмотреть сообщение
почему то получаю 0xF7, а должен 0x81
Почитайте спецификацию протокола. Возможно, вы что-то делаете не так.
0
6 / 6 / 0
Регистрация: 31.05.2015
Сообщений: 59
18.01.2017, 09:03
А меньше числа отправляете, та же фигня?
Может дело в символьном представлении числа?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.01.2017, 09:03

Подключение сокетом к com-порту
знаю можно сделать такой строкой CreateFile(comPort, GENERIC_WRITE | GENERIC_READ , FILE_SHARE_WRITE, NULL, OPEN_ALWAYS,...

Подключение светодиодов к COM-порту
Здравствуйте! Необходимо подключить несколько светодиодов к com. В инете по кусочкам нашел инфу что у com 3 выхода на которые можно подать...

Winsocks и подключение к занятому порту.
Люди кто нибудЬ знает как для винсокса по удп или тсп поключится к занятому порту и продолжатЬ работу не выдавая сообщение об ощибки и не...

Подключение к удаленному компьютеру по порту
Здравствуйте! Подскажите пожалуйста. Ситуация: у меня есть домашний компьютер, который подключен к инету через локалку. Мне...

Как перенаправить подключение к одному порту на другой?
Как в CentOS в терминале сделать так, что когда пытаешься подключиться к 88 порту, чтобы перебрасывало на 80-ый, а с 80-ого на сайт, к...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru