Перейти к содержанию
    

Помогите разобраться с COM-port на C# при соединении с HC-05

Интересно, а вы в диспетчере устройств смотрели в свойствах порта максимальную скорость? Может проблема в драйвере?

Может там что-то типа такого?

image.png.85ed247e00bd9c3421adf5aab5bb1980.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 minutes ago, jcxz said:

И это написал человек, который даже COM-порт не смог открыть без багов.

я не настоящий програмист программ, поэтому и просил о помощи.

но с продуктивными советами не задалось. хотя странно что еще никто не предложил отнести это старьё в музей и купить есп32.

2 minutes ago, Daniil said:

в свойствах порта максимальную скорость? Может проблема в драйвере?

все отлично работает через терминал на 230400, скрин в первом сообщении.

на C# все тоже самое не работает на этом же компьютере.

 

по большому щету скорость для виртуального порта со стороны виндозы не имеет смысла, аппаратно данные улетают по радиоканалу вроде как на 4МБит

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 минут назад, siargy сказал:

все отлично работает через терминал на 230400, скрин в первом сообщении.

Вы меня не слышите. В библиотеке C# есть проверка на максимальную скорость порта, но при работы через WinAPI это можно проигнорировать. Так что первопричина ошибки может быть в драйвере.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если по компорту до его открытия из устройства идет поток данных и это вызывает frame error (например из-за того что не вовремя начал принимать, дефолтная скорость мало значит в этом случае) - то функция установки скорости WinAPI будет возвращать ошибку. Сбрасываем её и опять пытаемся установить скорость... И так навсегда. Синтация с авто определением мыши на компорту это уже мелочь по сравнению с этим.

Про способы выхода из этой ситуации штатными средствами WinAPI не знаю.

Изменено пользователем GenaSPB

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 минут назад, siargy сказал:

я не настоящий програмист программ, поэтому и просил о помощи.

И при этом спорите с настоящими и игнорируете полезные советы.

Какой тогда смысл вам помогать?

17 минут назад, siargy сказал:

по большому щету скорость для виртуального порта со стороны виндозы не имеет смысла, аппаратно данные улетают по радиоканалу вроде как на 4МБит

Не знаю что такое "щет", но скорость UART не имеет никакого отношения к скорости радиоканала. Это во-первых.

А во-вторых: Что такое "виртуальный порт". Вы о чём? Вы вроде писали о микроконтроллере и о HC-05. Где именно там видите "виртуальный порт"?

 

PS: Может стоит всё-таки нарисовать схему соединения ваших микроконтроллера, HC-05, ПК...? Никто не догадается тут - чего вы там нахомутали с подключениями.....

PPS: Daniil вам дело говорит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

26 minutes ago, Daniil said:

В библиотеке C# есть проверка на максимальную скорость порта

её можно обойти?

даже если я выставлюю 128к, выскакивает ошибка.

bt_com55.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Обойти вряд ли получится, а вот установить другой драйвер вполне себе вариант.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

21 minutes ago, jcxz said:

Что такое "виртуальный порт". Вы о чём? Вы вроде писали о микроконтроллере и о HC-05. Где именно там видите "виртуальный порт"?

о, точно. часто непонимания возникают из-за разночтений в терминологии.

И так у нас 2 части:

1. МК<=>HC05 тут настроены аппаратные UART  на 230к4 и обмен идет согласно спецификациям.

2. BT-свисток <-./магия в компьютере/.-> программа

   если программа старый терминал (не извесно на чем написано) то все работает, если новый терминал (YAT) или моя програмулинка на C# то не может подключится к СОМ порту на скорости выше 115к2

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 8/31/2023 at 11:31 AM, siargy said:

   если программа старый терминал (не извесно на чем написано) 

Вроде на Делфи

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 минут назад, siargy сказал:

её можно обойти?

Её не надо обходить. Нужно поставить нормальный драйвер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 minutes ago, Daniil said:

Обойти вряд ли получится, а вот установить другой драйвер вполне себе вариант.

я хотел узнать есть ли способ работать с компортом кроме рекомендованного

SerialPort sp = new SerialPort();

 

а другой драйвер я пробовал ставить, еще хуже получаеца

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 минут назад, siargy сказал:

1. МК<=>HC05 тут настроены аппаратные UART  на 230к4 и обмен идет согласно спецификациям.

здесь скорость UART важна.

17 минут назад, siargy сказал:

2. BT-свисток <-./магия в компьютере/.-> программа

Здесь скорость COM-порта не важна. Между ней и скоростью в канале нет никакой связи. Как и между скоростью UART из п.1 и скоростью радиоканала.

17 минут назад, siargy сказал:

если новый терминал (YAT) или моя програмулинка на C# то не может подключится к СОМ порту на скорости выше 115к2

Вот здесь видимо и лежат баги. Которых по вашему мнению не существует.  :sarcastic:

13 минут назад, siargy сказал:

а другой драйвер я пробовал ставить, еще хуже получаеца

Ещё вариант - выкинуть ваш BT-свисток, заменить на нормальный. Большинство этих дешёвых BT-свистков - полное г*

Я в своё время перебрал их целую кучу, пока не нашёл нормальный.

 

Сейчас пользуюсь таким: image.thumb.jpeg.bada92f49a7c152a22cc4150faa9516d.jpeg

И почти забыл о проблемах с подключением к разным BT-девайсам. Да - он был довольно дорог. На порядок наверное дороже китайских свистков.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

18 minutes ago, jcxz said:

Я в своё время перебрал их целую кучу, пока не нашёл нормальный.

что удивительно в бт-свистке чип CSR как и в HC05. казалось бы должно работать в паре как часы.

попробую найти другой. спс.

1 hour ago, jcxz said:

спорите с настоящими и игнорируете полезные советы.

советы все довать горазды, вы лучше 5 строчек кода отжалейте.( я потом верну, если не поможет)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только что, siargy сказал:

что удивительно в бт-свистке чип CSR как и в HC05. казалось бы должно работать в паре как часы.

попробую найти другой. спс.

Не одними чипами сыт определяется работа радиоканал. Также: разводка платы, антенна, питание и т.п. В китайских копеечных наверняка сэкономлено на всём, на чём можно и нельзя. Купили самое дешёвое? Так и получайте то, за что заплатили.  :sarcastic:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, GenaSPB said:

Если по компорту до его открытия из устройства идет поток данных и это вызывает frame error (например из-за того что не вовремя начал принимать, дефолтная скорость мало значит в этом случае) - то функция установки скорости WinAPI будет возвращать ошибку. Сбрасываем её и опять пытаемся установить скорость... И так навсегда. Синтация с авто определением мыши на компорту это уже мелочь по сравнению с этим.

Про способы выхода из этой ситуации штатными средствами WinAPI не знаю.

 

судя по тому, что порой приходится снимать задачу диспетчером, если какой из вирт портов не отвечает или еще чего,  это очень даже так. стараюсь снизить вероятность этого проверяя наличия порта непосредственно перед передачей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...