Страница 1 из 2
Первая интеграция ATmega8A с ПК
Добавлено: Сб май 28, 2016 14:37:42
СЦБист
Решил создать эту ветку для тех людей которые желают увязать микроконтроллер с ПК.
Сам долго мечтал об этой реализации, но никак не мог воплотить ее в жизнь по нехватке знаний
в программировании COM порта. После приобретения некоторых знаний в области С++ и WinAPI
наконец-то воплотил это в жизнь.
В данном случае увязка ПК происходит с МК ATmega8A.
Программа для работы с COM портом консольная. Будет время постараюсь ее сделать визуальной
на том же WinAPI .
В программе предусмотрена возможность управлять 3 объектами управления и просматривать
состояние 80 объектов контроля.
В данном случае объектами управления являются светодиоды, но это могут быть и светодиоды
оптронов.
Во вложении находятся файлы для прошивки ATmega8A и сама программа для работы с COM портом.
Если будут какие-то вопросы, то пишите в личку, постараюсь ответить что к чему.
Схему увязки выложу на днях.
https://yadi.sk/d/SgrYioezs5QBz
https://yadi.sk/d/hdXlG27Rs5QMd
https://www.youtube.com/watch?v=wToDbX5lSaA
Re: Первая интеграция ATmega8A с ПК
Добавлено: Сб май 28, 2016 15:02:40
Мурик
СЦБист писал(а):Сам долго мечтал об этой реализации, но никак не мог воплотить ее в жизнь по нехватке знаний в программировании COM порта. После приобретения некоторых знаний в области С++ и WinAPI наконец-то воплотил это в жизнь.
Про библиотеки функций ничего не слышали?
То что вам нужно, решается довольно быстро даже на бейсике при минимальной затрате усилий.
СЦБист писал(а):Во вложении находятся файлы для прошивки ATmega8A и сама программа для работы с COM портом.
Файлы для МК есть, а вот программы для ПК в архиве не наблюдается.
Re: Первая интеграция ATmega8A с ПК
Добавлено: Сб май 28, 2016 15:06:49
СЦБист
Мурик писал(а):[qe]Файлы для МК есть, а вот программы для ПК в архиве не наблюдается.
там есть ссылка
Мурик писал(а):[q
То что вам нужно, решается довольно быстро даже на бейсике при минимальной затрате усилий.
.
мне уже нечего не нужно. то что хотел - то сделал.
при чем тут библиотечные функции ? В С++ нету библиотеки для работы с COM портом.
Re: Первая интеграция ATmega8A с ПК
Добавлено: Сб май 28, 2016 17:20:19
Мурик
Для плюсов есть и не одна. Зачем было изобретать велосипед писать очередную?
Re: Первая интеграция ATmega8A с ПК
Добавлено: Вс май 29, 2016 10:47:06
СЦБист
Мурик писал(а):Для плюсов есть и не одна.
название в студию.
именно для работы с COM портом.
Re: Первая интеграция ATmega8A с ПК
Добавлено: Вс май 29, 2016 12:52:26
BorisSPB
Что касается Windows, то большинство так называемых "библиотек" для работы с COM портами это жалкие обертки над WinAPI.
Самая сложная задача - это получить список портов имеющихся в системе. Эту задачу можно решить чтением ветки реестра "HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM" или использовать SetupAPI. Первый способ проще, второй сложнее, но дает больше информации (полный путь к устройству который можно использовать при вызове CreateFile и Friendly Name которое можно отобразить в диалоге выбора порта).
Получив в результате HANDLE остальные задачи не представляют сложностей.
Re: Первая интеграция ATmega8A с ПК
Добавлено: Вс май 29, 2016 12:57:13
СЦБист
<windows.h> не является стандартом ++
Re: Первая интеграция ATmega8A с ПК
Добавлено: Вс май 29, 2016 15:29:50
Siarzhuk
СЦБист писал(а):В С++ нету библиотеки для работы с COM портом.
Тут можно было-бы долго спорить что входит в "стандартный" "Ц++" а что не входит - но трата времени определённо не является ни вашей ни чьей-либо ещё целью. Ну кроме хронофагов. По существу, к примеру, Библиотека Библиотек boost
http://www.boost.org/doc/libs/1_40_0/do ... ports.html чем не [почти что] стандартный Ц++? Понятное дело, что в борьбе со всяким фреймворком львиная доля времени уходит чтобы запихать фреймворковы телеса в прокрустово ложе наших представлений о работе нашей программки + надёжно примотать тесёмочками и изолентой оному фреймворку все щупальца дабы не выползали из ушей и ноздрей програмки когда ни попадя. Но это плата за универсальность. Минимализм-же рождает решения мало кому-нибудь ещё полезные кроме автора. Но то всё лирика - оставим её лирикам.
По существу-же я, как опенсорсник с дореволюционным стажем, всякое начинание безвозмездно поделиться плодами трудов своих вижу исключительно положительным фактом биографии пациента! Достаточно положительным, чтобы перевесить всякое желание язвить в его сторону на тему "отсутствия научной новизны" и "концептуального несовершенства очередной модели велисипеда". В этом ключе рекомендую завести аккаунт на каком нибудь портале для совместной разработки ПО с открытым кодом и публиковать проекты там. Надёжнее, может кто присоединится помогать, да и история разработки с возможностью отката в случае ошибок экономит массу времени. Придется разобраться с программами-системами контроля версий - но оно того стоит. В общем самые модные парни с района, вроде как сейчас на GitHub околачиваются - но сам git как по мне, при всей очевидной мощности и гибкости, с точки зрения обычного человека может казаться поделием в достаточной степени человеконенавистническим. Тогда подберите что-нибудь с mercurial - у него система комманд погуманнее, ИМХО. Удачи!
Re: Первая интеграция ATmega8A с ПК
Добавлено: Пн май 30, 2016 10:46:58
СЦБист
Опять ничего не понял )))))))
Кстати велосипед никто не изобретал. Я написал приложение под свои критерии.
Re: Первая интеграция ATmega8A с ПК
Добавлено: Ср июн 15, 2016 14:51:02
СЦБист
Re: Первая интеграция ATmega8A с ПК
Добавлено: Вс июн 19, 2016 14:01:57
СЦБист
Собственно схема лабораторной установки
Re: Первая интеграция ATmega8A с ПК
Добавлено: Пт июн 24, 2016 02:41:27
Reloader
Посмотрел схему.
Аффтару было бы неплохо обратить внимание на V-USB
Re: Первая интеграция ATmega8A с ПК
Добавлено: Сб июл 02, 2016 11:19:10
СЦБист
Reloader писал(а):Посмотрел схему.
Аффтару было бы неплохо обратить внимание на V-USB
вопрос стоял COM порта. вопрос решен.
если есть притензии по поводу схемы, то выкладывайте ...

Re: Первая интеграция ATmega8A с ПК
Добавлено: Сб июл 02, 2016 16:20:29
Reloader
СЦБист писал(а):
если есть притензии по поводу схемы, то выкладывайте ...

Никаких претензий.
V-USB позволяет поднимать виртаульный COM порт на том же самом микроконтроллере
не нужна материнская плата с COM портом и MAX232
Вот и всё.
Re: Первая интеграция ATmega8A с ПК
Добавлено: Вс июл 03, 2016 14:39:50
СЦБист
Re: Первая интеграция ATmega8A с ПК
Добавлено: Вс июл 03, 2016 16:54:12
Jack_A
Reloader писал(а):V-USB позволяет поднимать виртаульный COM порт
Почему конкретно V-USB ? В сети об программной эмуляции USB достаточно скептические отзывы ( сам не пробовал, честно ). Тот же эффект, только более стабильно работающий, можно получить на специальном преобразователе, напр., FT232
Re: Первая интеграция ATmega8A с ПК
Добавлено: Вт июл 05, 2016 03:13:58
Reloader
Jack_A писал(а):В сети об программной эмуляции USB достаточно скептические отзывы
Приведу всего 2 примера программной эмуляции USB :
1) UsbAsp
2) AVR 910 Protoss
Проверенно годами
Jack_A писал(а):можно получить на специальном преобразователе, напр., FT232
Бесспорно, работает выше всяких похвал, но есть "НО"
Увеличивает размер устройства
и цена в 2 раза больше микроконтроллера
Re: Первая интеграция ATmega8A с ПК
Добавлено: Вт июл 05, 2016 04:03:15
КРАМ
Последним логическим шагом будет отказ от виртуального COM (CDC USB) в пользу HID USB. Для сбора данных и управления - самое то.
0,5 Мбит/с и никаких проблем с портами.
Re: Первая интеграция ATmega8A с ПК
Добавлено: Вт июл 05, 2016 11:04:40
СЦБист
Reloader писал(а):[q
MAX232
Вот и всё.
[/quote]
она не такая уж и дорогая. где-то 40-50 центов. дороже мега 8
зачем в быту 0,5 Мбит/с ? достаточно и ком порта.
Re: Первая интеграция ATmega8A с ПК
Добавлено: Вт июл 05, 2016 15:22:00
КРАМ
СЦБист писал(а):зачем в быту 0,5 Мбит/с ? достаточно и ком порта.
Дело не в 0,5 Мбит/с. Дело в УДОБСТВЕ HID-USB. Не нужно открывать порты, автоматически определяется устройство и можно автоматически запускать ПО.
К тому же COM порты уже трудно найти в компьютерах.