Например TDA7294

Форум РадиоКот • Просмотр темы - Работа с COM портом
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср май 21, 2025 00:40:50

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 44 ]  1, ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Работа с COM портом
СообщениеДобавлено: Чт июн 25, 2015 07:02:20 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Ср дек 15, 2010 14:37:38
Сообщений: 213
Рейтинг сообщения: 0
Добрый день товарищи, подскажите с чего начать - пытаюсь разобраться как работать с COM портом, приём и передача данных - но литературы много и информации с чего лучше копать? В итоге нужно, что бы в программе написанной на Microsoft Visual Studio с++ я мог получать данные с кажем с датчика температуры, и посылал команду при достижении температуры на включение тэна. Это самое простое пока хочется освоить. :oops: Я понимаю на avr это просто как два пальца, но хочется освоить именно интеграцию с ПК и пока, что COM т.к USB пока сложновато...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с COM портом
СообщениеДобавлено: Чт июн 25, 2015 09:04:08 
Мудрый кот
Аватар пользователя

Карма: 3
Рейтинг сообщений: 60
Зарегистрирован: Пн ноя 29, 2010 15:58:43
Сообщений: 1816
Рейтинг сообщения: 0
разделите свою задачу на две:
1. подготовка данных с датчика и передача этих данных в формате UART , пребразование в уровни RS232 .
2. прием данных с СОМ порта на ПК и визулизация (или сохранение) данных на компе.

каждая задача может быть отлажена по отдельности. например когда сделали устройство передающее данные на комп по RS232 , эти данные можно принять программками предназначенными для работы с эти портом (я предпочитаю PUTTY).
после этого можно переходить в VS для обработки принимаемых данных.
вот как то так ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с COM портом
СообщениеДобавлено: Чт июн 25, 2015 09:38:57 
Друг Кота
Аватар пользователя

Карма: 49
Рейтинг сообщений: 392
Зарегистрирован: Вс июл 12, 2009 19:15:29
Сообщений: 7012
Откуда: Ижевск
Рейтинг сообщения: 0
gdoom писал(а):
...получать данные с кажем с датчика температуры...на avr это просто как два пальца,.

Подключить датчик (тот же температурный) к AVR и уже с него гнать в комп. Ну а в компе делать с ними всё, что заблагорассудится.

_________________
Docendo discimus


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с COM портом
СообщениеДобавлено: Чт июн 25, 2015 11:34:09 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Ср дек 15, 2010 14:37:38
Сообщений: 213
Рейтинг сообщения: 0
igor-x писал(а):
разделите свою задачу на две:
1. подготовка данных с датчика и передача этих данных в формате UART , пребразование в уровни RS232 .
2. прием данных с СОМ порта на ПК и визулизация (или сохранение) данных на компе.

каждая задача может быть отлажена по отдельности. например когда сделали устройство передающее данные на комп по RS232 , эти данные можно принять программками предназначенными для работы с эти портом (я предпочитаю PUTTY).
после этого можно переходить в VS для обработки принимаемых данных.
вот как то так ?


ну да тут я согласен.
тогда сразу возникают вопросы:
1) можете ткнуть носом на примеры устройств.....
2) непосредственно на программу желательно с исходниками где описывается сам процесс приёма и передачи данных. - скажем зажечь лампочку если пришёл сигнал внешний от выключателя.
сохранение и обработка и отображение - это достаточно тривиально простые задачи, уже знаю как можно решить.

pyzhman писал(а):
gdoom писал(а):
...получать данные с кажем с датчика температуры...на avr это просто как два пальца,.

Подключить датчик (тот же температурный) к AVR и уже с него гнать в комп. Ну а в компе делать с ними всё, что заблагорассудится.

такой вариант пока не хочется рассматривать.


Вернуться наверх
 
Открыт интернет-магазин MEAN WELL.Market – весь ассортимент MEAN WELL, выгодные цены

Открыта удобная площадка с выгодными ценами, поставляющая весь ассортимент продукции, производимой компанией MEAN WELL – от завоевавших популярность и известных на рынке изделий до новинок. MEAN WELL.Market предоставляет гарантийную и сервисную поддержку, удобный подбор продукции, оперативную доставку по России. На сайте интернет-магазина посетители смогут найти обзоры, интересные статьи о применении, максимальный объем технических сведений.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Работа с COM портом
СообщениеДобавлено: Чт июн 25, 2015 11:41:12 
Открыл глаза

Зарегистрирован: Пт янв 11, 2013 10:54:43
Сообщений: 60
Рейтинг сообщения: 0
gdoom писал(а):
с датчика температуры
Что за датчик?
gdoom писал(а):
и посылал команду при достижении температуры на включение тэна
Кому и какую команду посылал?
PS
Цитата:
хочется освоить именно интеграцию с ПК
С нуля задача трудоемкая и значительно упрощается при использовании мк.


Вернуться наверх
 
LED-драйверы MOSO - надежные решения для индустриальных приложений

Продукция MOSO предназначена в основном для индустриальных приложений, использует инновационные решения на основе более 200 собственных патентов для силовой электроники и соответствует международным стандартам. LED-драйверы MOSO применяются в системах наружного освещения разных отраслей, включая промышленность, сельское хозяйство, транспорт и железную дорогу. В ряде серий реализована возможность дистанционного контроля и программирования работы по заданному сценарию. Разберем решения MOSO подробнее>>
Не в сети
 Заголовок сообщения: Re: Работа с COM портом
СообщениеДобавлено: Чт июн 25, 2015 12:29:55 
Встал на лапы

Карма: 1
Рейтинг сообщений: 39
Зарегистрирован: Ср фев 01, 2012 10:55:53
Сообщений: 145
Рейтинг сообщения: 0
Самое сложное в этой задаче это получить имя последовательного порта которое можно использовать для открытия файла CreateFile.
Многие используют наивный подход, добавляя к базовому имени \\.\COM последовательные индексы. Более продвинутые сканируют ветку реестра HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM.
Однако самое правильное, IMHO, это использование функций из группы SetupDi. Найти интерфейс с требуемым GUID (GUID_DEVINTERFACE_COMPORT), получить DEVICE_INTERFACE_DETAIL_DATA и открыть файл. Все остальное совсем просто, правда если чтение-запись делать в одном потоке, надо настроить COMMTIMEOUTS так чтобы операция чтения завершалась по таймауту.
Вообще у Microchip'а в примерах есть исходники в которых все эти моменты можно посмотреть. Можно у них скачать MLA.


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: Работа с COM портом
СообщениеДобавлено: Чт июн 25, 2015 12:47:24 
Встал на лапы

Зарегистрирован: Чт мар 22, 2012 20:28:49
Сообщений: 82
Рейтинг сообщения: 0
Для освоения программной части работы с COM-портом советую воспользоваться следующей связкой программ. Proteus - Программа для моделирования электронных схем с возможностью эмуляции работы микроконтроллеров AVR. VSPE - программа для создания виртуальных COM-портов, к которым можно приконнектиться из любой программы. COM Port Toolkit - программа-терминал для приема/передачи байтов через COM-порт. Пишем программу для МК, создаем необходимую схему в Proteus с использованием элемента COMPIM. В программе VSPE создаем пару виртуальных COM-портов связанных между собой. Далее элемент COMPIM в Proteus соединяем с одним из созданных портов, а COM Port Toolkit со вторым. Отлаживаем программу МК. Потом пишем необходимую программу для компьютера и используем её вместо COM Port Toolkit.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с COM портом
СообщениеДобавлено: Чт июн 25, 2015 12:56:54 
Мудрый кот
Аватар пользователя

Карма: 3
Рейтинг сообщений: 60
Зарегистрирован: Пн ноя 29, 2010 15:58:43
Сообщений: 1816
Рейтинг сообщения: 0
Цитата:
1) можете ткнуть носом на примеры устройств.....

да примеров просто немеряно если полазить гуглом, ну вот несложный пример:
http://denialmedia.ca/weather-station/
на первый взгляд чтото очень сложное - но на самам деле всего один чип Atmega32 читает данные с датчика (ов) ,
и передает по СОМ порту на комп. На компе
- обработка и даже то что вы считаете очень простым -сохранение и отображение :))
в приведенном примере есть исходники для прошивки МК , и комповой программы.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с COM портом
СообщениеДобавлено: Чт июн 25, 2015 13:26:16 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Ср дек 15, 2010 14:37:38
Сообщений: 213
Рейтинг сообщения: 0
ddimochka писал(а):
Для освоения программной части работы с COM-портом советую воспользоваться следующей связкой программ. Proteus - Программа для моделирования электронных схем с возможностью эмуляции работы микроконтроллеров AVR. VSPE - программа для создания виртуальных COM-портов, к которым можно приконнектиться из любой программы. COM Port Toolkit - программа-терминал для приема/передачи байтов через COM-порт. Пишем программу для МК, создаем необходимую схему в Proteus с использованием элемента COMPIM. В программе VSPE создаем пару виртуальных COM-портов связанных между собой. Далее элемент COMPIM в Proteus соединяем с одним из созданных портов, а COM Port Toolkit со вторым. Отлаживаем программу МК. Потом пишем необходимую программу для компьютера и используем её вместо COM Port Toolkit.

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

- спасибо! :shock: не думал что можно такое замутить с Proteus....

igor-x писал(а):
Цитата:
1) можете ткнуть носом на примеры устройств.....

да примеров просто немеряно если полазить гуглом, ну вот несложный пример:
http://denialmedia.ca/weather-station/
на первый взгляд чтото очень сложное - но на самам деле всего один чип Atmega32 читает данные с датчика (ов) ,
и передает по СОМ порту на комп. На компе
- обработка и даже то что вы считаете очень простым -сохранение и отображение :))
в приведенном примере есть исходники для прошивки МК , и комповой программы.

С МК не хочу связыватсья, так как потом будет мк участвовать в этом:
http://kibermaster.net/upravlenie-elektricheskimi-tsepyami-che/
решил начать пока без МК - и с СОМ так как хочется освоить это в начале....

Vano79 писал(а):
gdoom писал(а):
с датчика температуры
Что за датчик?
gdoom писал(а):
и посылал команду при достижении температуры на включение тэна
Кому и какую команду посылал?
PS
Цитата:
хочется освоить именно интеграцию с ПК
С нуля задача трудоемкая и значительно упрощается при использовании мк.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с COM портом
СообщениеДобавлено: Чт июн 25, 2015 13:30:44 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Ср дек 15, 2010 14:37:38
Сообщений: 213
Рейтинг сообщения: 0
НУ пока накопал вот интересный материал - отсюда уже можно, что то сделать:
http://www.kernelchip.ru/pcports/PS054.php
- но мне не понравилось

но вот что то есть живое:
http://www.labkit.ru/html/autocontrol?id=136
- но всё упрётся уже в Microsoft Visual Studio С++ - так как исходника нет :cry: а было бы здорово посмотреть, что там... . Но остаётся разобраться с работой СОМ глубже как я понял....


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с COM портом
СообщениеДобавлено: Чт июн 25, 2015 13:45:22 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 178
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3373
Рейтинг сообщения: 0
gdoom писал(а):
я мог получать данные с кажем с датчика температуры
С какого? Например DS18B20?
Можете посмотреть журнал Радио №1 2015. Там есть статья о работе с подобными датчиками через COM порт (в т. ч. виртуальный). Компонент приложения используемый в статье. ftp://ftp.radio.ru/pub/2015/01/OWire.zip
Его можно подключить к проекту VS и использовать для чтения температуры. Преимущество в том что не нужно знать как работать с COM портом и датчиком. Все это берет на себя компонент. А если все же хочется разобраться как это работает, можно посмотреть исходник компонента - файл OWire_Module.pbi находящийся в папке Library\Src.

gdoom писал(а):
USB пока сложновато...
Ну я бы так не сказал бы. Смотрите журнал Радио №4 2011. Там есть статья о работе с USB HID, а также компонент приложения, который сможете подключить к проекту VS C++.


Последний раз редактировалось Мурик Чт июн 25, 2015 13:55:19, всего редактировалось 2 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с COM портом
СообщениеДобавлено: Чт июн 25, 2015 13:54:12 
Открыл глаза

Зарегистрирован: Пт янв 11, 2013 10:54:43
Сообщений: 60
Рейтинг сообщения: 0
gdoom писал(а):
остаётся разобраться с работой СОМ глубже как я понял....
поэтому и говорю - процесс трудоемкий, если с нуля. Если только компорт начните с
Цитата:
Агуров П. "Последовательные интерфейсы ПК. Практика программирования".
Гугл в помощь, исходников на VC++ море.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с COM портом
СообщениеДобавлено: Чт июн 25, 2015 19:18:13 
Друг Кота

Карма: 13
Рейтинг сообщений: 84
Зарегистрирован: Чт сен 20, 2007 14:08:00
Сообщений: 13796
Рейтинг сообщения: 0
gdoom писал(а):
решил начать пока без МК - и с СОМ так как хочется освоить это в начале..

без мк ком порт "не работает"
либо тебе надо будет ставить специальный софт для создания виртуального порта, чтобы соединить твой софт и терминал, который будет показывать тебе работу твоей проги

алгоритм работы с портом такой
открыть порт с параметрами скорости, например 9600 (там еще есть опции контроля передачи)
отправить байт в порт или принять
слушать порт на наличие данных
закрыть его, когда закрываеш приложение или по кнопке

слушание порта делается в главном цикле, если софт однопоточный или по таймеру
есть еще готовые библиотеки для работы с портами и они могут предоставлять более удобные механизмы взаимодействия с портом

а насчет управления и команд, то ты сам п ридумываеш протокол
например контроллер тебе шлет с датчика температуру в виде t 25
ты ищеш в строке подстроку в виде буквы t и понимаеш, что дальше следует число и это интерпретируется как температура

на стороне контроллера примерно так же
вот пример http://sheepdogguides.com/dt4t.htm

_________________
тематические ответы только в форуме, в приват не пишите


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с COM портом
СообщениеДобавлено: Чт июн 25, 2015 21:42:54 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 178
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3373
Рейтинг сообщения: 0
kalobyte писал(а):
без мк ком порт "не работает"
Т. е. если подключить DS18B20 к COM порту - работать не будет? :)))
DS это не МК, что уже противоречит высказыванию. Наверное его стоит перефразировать в "без чего-либо, подключенного к порту это бессмысленно, т. к. данные отправляются в никуда и нечего принимать кроме помех". :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с COM портом
СообщениеДобавлено: Чт июн 25, 2015 22:53:45 
Друг Кота
Аватар пользователя

Карма: 55
Рейтинг сообщений: 389
Зарегистрирован: Чт мар 20, 2008 01:06:40
Сообщений: 3230
Откуда: Севастополь
Рейтинг сообщения: 0
К ком-порту можно подключать разные датчики напрямую, используя пины DTR/RTS/CTS и "дрыгая" ими из своей программы.
Разумеется, надо согласовывать уровни.
Получается не совсем по-людски, но работает нормально (во всяком случае, в ВинХП и более старых виндах).
Напр, вот схема подключения АЦП MCP3550 :

Изображение

_________________
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с COM портом
СообщениеДобавлено: Пт июн 26, 2015 05:07:34 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Ср дек 15, 2010 14:37:38
Сообщений: 213
Рейтинг сообщения: 0
Мурик писал(а):
kalobyte писал(а):
без мк ком порт "не работает"
Т. е. если подключить DS18B20 к COM порту - работать не будет? :)))
DS это не МК, что уже противоречит высказыванию. Наверное его стоит перефразировать в "без чего-либо, подключенного к порту это бессмысленно, т. к. данные отправляются в никуда и нечего принимать кроме помех". :)


ну вот http://www.kernelchip.ru/pcports/PS054.php
и цитата:
Код:
С аппаратной частью нам тоже придется "повозиться", в том смысле что она будет сложнее чем с первым устройством для LPT порта. Дело в том что протокол RS-232 по которому идет обмен данными в COM порту, имеет несколько отличное соотношение логическое состояние - напряжение. Если обычно это логический 0 <-> 0 В, логическая 1 <-> +5 В, то в RS-232 это соотношение следующее: логический 0 <-> +12 В, логическая 1 <-> -12 В.

И например, получив -12 В не сразу понятно что с этим напряжением делать. Обычно проводят преобразование уровней RS-232 в ТТЛ (0, 5 В). Самый простой вариант - стабилитроны. Но я предлагаю сделать этот преобразователь на специальной микросхеме. Называется она MAX232.


вот пример - только проблема согласования, дёшево и сердито :hunger:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с COM портом
СообщениеДобавлено: Пт июн 26, 2015 11:57:51 
Друг Кота

Карма: 13
Рейтинг сообщений: 84
Зарегистрирован: Чт сен 20, 2007 14:08:00
Сообщений: 13796
Рейтинг сообщения: 0
Мурик писал(а):
Т. е. если подключить DS18B20 к COM порту - работать не будет?

как повезет, для любительских целей может и будет работать, я не пробовал

_________________
тематические ответы только в форуме, в приват не пишите


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с COM портом
СообщениеДобавлено: Пт июн 26, 2015 13:20:43 
Друг Кота
Аватар пользователя

Карма: 55
Рейтинг сообщений: 389
Зарегистрирован: Чт мар 20, 2008 01:06:40
Сообщений: 3230
Откуда: Севастополь
Рейтинг сообщения: 0
kalobyte писал(а):
я не пробовал
но при этом - сразу , безапелляционно :
kalobyte писал(а):
без мк ком порт "не работает"

ну так и чО сразу лезть в тему с ТАКИМИ советами, если нет своего опыта и твое мнение - чисто умозрительное ?

Да и по поводу "любительских целей" ты снова не попал.
Вот схема вполне заводского девайса, продававшегося миллионными тиражами :

Изображение

_________________
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с COM портом
СообщениеДобавлено: Сб июн 27, 2015 00:04:57 
Друг Кота

Карма: 13
Рейтинг сообщений: 84
Зарегистрирован: Чт сен 20, 2007 14:08:00
Сообщений: 13796
Рейтинг сообщения: 0
abc писал(а):
ну так и чО сразу лезть в тему с ТАКИМИ советами, если нет своего опыта и твое мнение - чисто умозрительное ?

потому что делал программатор по такому же принципу
если он там в старых системах работал, то в новых тайминги не совпадали и нихера не работало

а серийный девайс этот то же гавно древнее, у меня был такой, только там стояла специальная мс - железный адаптер под ком порт и эту шину, стоил дороже намного

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

_________________
тематические ответы только в форуме, в приват не пишите


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с COM портом
СообщениеДобавлено: Сб июн 27, 2015 00:56:02 
Друг Кота
Аватар пользователя

Карма: 55
Рейтинг сообщений: 389
Зарегистрирован: Чт мар 20, 2008 01:06:40
Сообщений: 3230
Откуда: Севастополь
Рейтинг сообщения: 0
Т.е. конкретно у тебя не заработал программатор ? И это повод говорить, что ком-порт без МК не работает ?
Охренеть...
Но тот самый MCP3550 у меня работал на XP 24/7 в теч. трех месяцев. А у тысяч людей - таблетки DS1990 в паре с DS9097.
Да и о чем спрашивает ТС в своем первом сообщении - о конкретно твоем программаторе или о датчиках вообще ?

_________________
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 44 ]  1, ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y