Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Выбор способа программирования
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
implex
Всем привет! Подскажите, пожалуйста, простейшие способы программирования ПК. Раньше никогда не занимался таким, а сейчас появилось немного времени и вот захотел поверхностно освоить. В первую очередь хочу попробовать сделать что-то типа логера температуры (получать пару байт по com порту и строить график). Пока что смотрю в сторону VisualBasic.
octobus
Можете попробовать платформу Arduino. Это такое нечто придуманное для разработки софта для роботов, все что нужно, печатная плата совместимая с Arduino. Стоит недорого, позволяет начать писать программу сразу после подключения http://ardui.ru/Arduino_environment

Еще вариант, подороже, это купить плату поддерживающую пакет Labview. Это мощный пакет для построения виртуальных средств измерения и обработки результатов. Может очень многое, программирование больше похоже на конструктор Лего, где нужные кубики рисуются в схему, данные принимаются, обрабатываются и выводятся либо на экран, печать, диск или на внешний порт.
Печатная плата поддерживающая Labview стоит, как уже сказал дороже, но зато играться интереснее.

implex
На сколько я понял это немного не то. По программированию железа вопросов нет. Я никогда не соединял железо с компьютером. Меня интересует разработка программ для PC. Железо, которое измерит температуру и отправит в СОМ сделаю без проблем, а вот как получить данные на ПК и построить график не представляю.
Herz
Я бы посоветовал MATLAB. И получать данные - не проблема, и мощные возможности обработки, визуализации, и на будущее большой потенциал. А, главное, осваивать легко - хелп на редкость достойный.
implex
Судя по статье Вики именно то, что нужно. Спасибо! Попробую в этом направлении.
Xenia
Цитата(implex @ Mar 2 2014, 18:55) *
Подскажите, пожалуйста, простейшие способы программирования ПК. Раньше никогда не занимался таким, а сейчас появилось немного времени и вот захотел поверхностно освоить. В первую очередь хочу попробовать сделать что-то типа логера температуры (получать пару байт по com порту и строить график). Пока что смотрю в сторону VisualBasic.


Из простейших средств слышала (на Сахаре) про прогу, которая рисует все, что ни попало, а требуется только настроить протокол входных данных. Типа того, в бинарном ли виде числа приходят, в текстовом ли, и как их из этого текста конвертировать. Для настройки у нее специальный диалог есть, где нужный вариант заказываешь.

Но если вам хочется программировать именно самому, а не пользоваться чужими программами, то это тоже имеет большой смысл, т.к. окажется полезным в будущем, когда вы упрётесь во что-то такое, чего чужая программа сделать не может. И такое затыкание обычно всегда происходит, причем, гораздо раньше, чем ожидается. В этом случае я бы рекомендовала язык C (позже, если заходите, расширите его до C++), именно потому, что на C/С++ ныне обычно пишутся программы и для микроконтроллеров. И если на малых МК вполне хватает ассемблера, то на больших однозначно потребуется знать С/С++, т.к. на нем обычно все прикладные библиотеки пишут.

Поэтому, выбирая С/С++, вы убиваете сразу двух зайцев: учитесь программировать на нем МК (если до сих пор этому не научились) и пишете на нем программы поддержки со стороны ПК. И хотя диалекты у МК и ПК могут различаться, все равно это очень приятно и здорово! sm.gif Тем более что МК нынче растут, как грибы, непрерывно расширяя свои возможности, и, похоже, что без знания C/C++ разработчику просто труба. И я это говорю, несмотря на то, что с ассемблера начинала и до сих пор имею к нему тягу.

А для начала рекомендую старенький по теперешним временам "Borland Builder 6.0 C/C++ Compiler". Он небольшого объема, но всё еще работает под Windows7/8, хотя сам 2002-го года рождения. Потом, если захотите, можете перейти на более современные его версии. Но начинать с них не рекомендую - новичку не мудрено испугаться их сложности. Дистрибутив Builder 6.0 C/C++ легко можно найти в интернете, т.к. он теперь фактически ничейный (компания Borland приказала долго жить). А хорош он тем, что сочетает язык C/C++ с системой Delphi (программирование для дураков sm.gif). Графики там программируются крайне просто:
Код
  Series1->Clear();  // стираем старую кривую
  for( int i=0; i < N; i++) Series1->AddXY( X1[i], Y1[i]);  // добавляем в цикле for координаты N точек

Вот, собственно, и всё. Само окно графика мышкой растягиваешь до нужного размера, а раскрас делаешь из меню, где без всякого программирования в интерактивном режиме заказываешь и разметку по осям, и цвет линии, и форму точек, и очень многое другое, вплоть до шрифтов, которыми надписи делать. И что самое замечательное - лазать туда на первых порах необязательно, т.к. график она вам и так построит, правда на свой вкус, а уж потом сами решайте, чего в нем менять.

Приятно еще и то, что с той же легкостью делается программа с режимом on-line для сбора и рисования данных. Там для этой цели таймер есть, по умолчанию раз в секунду запускающий тело специальной функции (изначально пустой). Если вовнутрь ее поместить чтение данных из COM-порта, потом ДОБАВЛЯТЬ новые точки в график (делаем только AddXY без Clear), то график сам удлинняется, перерисовываясь каждую секунду.

Конечно, на Builder C/C++ можно писать и очень сложные программы, да и сам он, как языковая среда, неисчерпаем, как атом sm.gif. Но мы сейчас акцентируем внимание именно на стартапе, который в данном случае прост до примитивности.
RabidRabbit
А если всё же захочется работать с операционной системой, а не с Windows sm.gif можно попробовать программировать на Си++ под кроссплатформенную библиотеку Qt в её "родной" среде QtCreator. Очень подробный хелп и множество примеров. И под виндой тоже работает sm.gif http://qt-project.org
AlexandrY
Цитата(implex @ Mar 2 2014, 16:55) *
Всем привет! Подскажите, пожалуйста, простейшие способы программирования ПК. Раньше никогда не занимался таким, а сейчас появилось немного времени и вот захотел поверхностно освоить. В первую очередь хочу попробовать сделать что-то типа логера температуры (получать пару байт по com порту и строить график). Пока что смотрю в сторону VisualBasic.


Visual Basic вполне практично.
За современными трендами все равно не угонитесь. Позавчера был QT и C++, вчера был Java и Android, а сегодня уже JavaScript и FireFox OS.

Я бы даже советовал VBA под Access.
Все в одном файле. Никакой инсталляции. Мгновенный запуск среды разработки. Мгновенная компиляция.
В одном файле и формы и графики и код и сами данные в виде таблиц со всеми необходимыми операциями по обработке и презентация и отчеты для печати и публикация для WEB-а.

Когда начнете все это собирать в C++ Builder или Matlab быстро поймете, что не все так просто.

SM
Я бы посоветовал матлаб (если много обработки), TCL/TK (он крайне удобен его лицензией, бесплатное использование везде и почти как угодно, и совместно с коммерческими продуктами в том числе), также он является встроенным скриптовым языком многочисленных сред разработки, и имеет в себе необходимые средства для выводов графиков. Ну C/C++ с QT, тоже полезно, и т.п., но только не VB, не C#, и вообще, не использовать всякие исчадья микрософта, которые ни на чем другом не пойдут ни в каком будущем - бесперспективно потерянное время
Herz
Цитата(SM @ Mar 3 2014, 11:02) *
Я бы посоветовал матлаб (если много обработки), TCL/TK...

Хотел посмотреть, что это такое, но так и не смог. Сервер www.tcl.tk недоступен. Может, временно, конечно. Может, только у меня. Но первое впечатление особенно ценно... rolleyes.gif
SM
Ну уж не знаю. От меня все доступно без проблем, это Ваш провайдер что-то там перекрыл зачем-то. Может, посчитал, что это порно-сайт sm.gif

Вообще, это такой скриптовый язык, в который очень просто встраивать свои расширения, написанные, к примеру, на C, и использовать их совместно - мощность их скриптов и свои надстройки. При этом TCL это базовый набор (без GUI, чисто консоль), а TK - это его расширение для GUI.

Сайт у них спартанский, как это принято у большинства opensource проектов, однако там есть полный хелп по всем функциям
andrew_b
Цитата(Herz @ Mar 3 2014, 14:43) *
Хотел посмотреть, что это такое, но так и не смог. Сервер www.tcl.tk недоступен.
Начните отсюда: http://tclstudy.narod.ru/index.html
Меджикивис
Цитата(implex @ Mar 2 2014, 18:55) *
Пока что смотрю в сторону VisualBasic.
Я довольно давно работаю с VB6, вполне удовлетворяет.
В основном пишу управление конструкциями, которые создаю. (В последнее время всё больше на MK).
Но, имейте ввиду: Бейсик "избалует" человека. После него трудно пересесть на что-нибудь другое.
Цитата(AlexandrY @ Mar 3 2014, 12:48) *
Я бы даже советовал VBA под Access.
Гммм... Но ведь для этого нужен сам Access.
А VB6 дает самостоятельный файл.

ЗЫ.
Не советую использовать платформу .NET . То, что написано на ней, не будет работать без установленного Фреймворка 2 (и выше), а он тормозит комп - огого!(((
Екзешник, созданный VB6, если он аккуратно сделан, работает везде - от WIN9x до Семерки (на восьмерке не проверял).
_pv
в свете последних веяний моды на JS:
http://dangerousprototypes.com/2014/03/07/...y-using-nodejs/

хотя начать лучше всё-таки с С даже и без особого углубления в ++, компилятор MSVC express edition. Просто получить данные с порта, переварить их и напечатать в консоль,
потом можно вместо консоли перенаправить в нужном виде в gnuplot и получить график.
для рисования кнопочек/окошечек, для начала есть совсем простая библиотека FLTK.
AlexandrY
Цитата(Меджикивис @ Mar 10 2014, 15:54) *
Гммм... Но ведь для этого нужен сам Access.
А VB6 дает самостоятельный файл.


Во первых у Microsoft есть бесплатный runtime движок для выполнения файлов Access.
Во вторых просто VB6 это все то же ковыряние как и в случае C++ Builder.
Т.е. формы, таблицы, связи данных, формат хранения данных или базу данных все надо делать как бы с нуля каждый раз.
Используя Access вы сразу данные помещаете в таблицу и больше голова не болит как их хранить, парсить, сортировать, фильтровать, извлекать, представлять т.д.
В Access мгновенный переход от режима видоизменения и редактирования форм, окон и оконных элементов к режиму рабочего использования.
Это ускоряет отладку на порядок по сравнению с компилируемыми проектами.
implex
Начал осваивать VisualBasic в VisualStudio2010. VisualStudio почему-то хотят много диска С даже при установке на другой диск.

Цитата(AlexandrY @ Mar 10 2014, 19:00) *
Во первых у Microsoft есть бесплатный runtime движок для выполнения файлов Access.
Во вторых просто VB6 это все то же ковыряние как и в случае C++ Builder.
Т.е. формы, таблицы, связи данных, формат хранения данных или базу данных все надо делать как бы с нуля каждый раз.
Используя Access вы сразу данные помещаете в таблицу и больше голова не болит как их хранить, парсить, сортировать, фильтровать, извлекать, представлять т.д.
В Access мгновенный переход от режима видоизменения и редактирования форм, окон и оконных элементов к режиму рабочего использования.
Это ускоряет отладку на порядок по сравнению с компилируемыми проектами.


Может вопрос глупый но... Программа на VB будет только получать данные с ком порта, в моем случае переводить в нужный вид и записывать в ячейки таблиц, а работать с данными и отображать их можно будет средствами MSAccess?
enastoyashchiy
Я советую всё же использовать платформу Arduino со множеством плат контроллеров в качестве прокладки между компом и датчиками и это выйдет и по деньгам и по времени намного выгодней, чем паять какие-либо преобразователи.
ViKo
Я посоветовал бы C#. И даже аргументировать не буду. Просто советую, и всё. cool.gif Кому надо, наберет в поисковике "Зачем мне C#".
ТопМастер
Цитата(ViKo @ Dec 23 2015, 11:45) *
Я посоветовал бы C#. И даже аргументировать не буду. Просто советую, и всё. cool.gif Кому надо, наберет в поисковике "Зачем мне C#".


Поддерживаю! Но выбор за Вами)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.