Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.97/39: Рейтинг темы: голосов - 39, средняя оценка - 4.97
 Аватар для Hrethgir
421 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,206
Записей в блоге: 177

Языки программирования для контроллеров, микроконтроллеров и пр.

26.03.2013, 21:11. Показов 8040. Ответов 47
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Извините за нубский вопрос: а собственно на каком языке можно программировать например ПЛИС, и какие среды разработки, для этого существуют или подходят? если ответ уже где-то есть, можете удалить тему, показав мне где это. Просто интересно, а книжки все сразу перечитывать некогда.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.03.2013, 21:11
Ответы с готовыми решениями:

Языки программирования для контроллеров
Здравствуйте. Недавно столкнулся с таким оборудованием как микроконтроллер ALPHA XL Mitsubishi Electric. Знаю, что для его...

Какие языки программирования используют для программирования инкубаторов
Добрый день, кто-то знает какие языки программирования используют для программирования инкубаторов для яиц?? Какие материнские платы в них...

Настройка QT Creator для программирования микроконтроллеров
Добрый день! Прошу у вас помощи в одном необычном деле. Хочу настроить Qt Creator для программирования микроконтроллеров на Windows 10, в...

47
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
 Аватар для magirus
28049 / 15785 / 983
Регистрация: 15.09.2009
Сообщений: 67,752
Записей в блоге: 78
26.03.2013, 21:15
https://www.cyberforum.ru/elec... 26610.html
1
 Аватар для Hrethgir
421 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,206
Записей в блоге: 177
26.03.2013, 21:28  [ТС]
спасибо. я смотрел эту закреплённую тему. дело в том, что каждый разработчик свои среды расширяет с каждым годом, дополняя их функциями, а каждая книга становится менее актуальной, касательно некоторых вопросов. по этому и тема.
0
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
 Аватар для magirus
28049 / 15785 / 983
Регистрация: 15.09.2009
Сообщений: 67,752
Записей в блоге: 78
26.03.2013, 21:31
ну.....
самая актуальная инфа - на сайтах производителей,
как даташиты к микросхемам, так и описания сред разработки...
1
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
26.03.2013, 23:39
Извините за нубский вопрос: а собственно на каком языке можно программировать например ПЛИС,
Verilog HDL, VHDL, некоторые среды допускают вставки-блоки на Си и на Паскале-подобном языке, описание с помощью временных диаграмм и, собственно, схемотехническое построение.

и какие среды разработки, для этого существуют или подходят?
Xilinx ISE, WEBPack ISE, MAX+Plus II, Altium, AnadigmDesigner, ...

Под МК: CVAVR, ICC AVR, Proteus, Altium, PureBasic, МикроПаскаль, МикроСи, MPLab, WinAVR, CoIDE, Ecllipse, Visual Studio с плагином под ардуину и т.д...

если ответ уже где-то есть, можете удалить тему, показав мне где это.
ответ в закрепленных темах:
Коллекция исходников по алгоритмам и ссылок по работе с интерфейсами в МК
https://www.cyberforum.ru/elec... 26610.html

Темы по просьбам ТС не закрываются и не удаляются.

Просто интересно, а книжки все сразу перечитывать некогда.
можно посмотреть занимательные и технические видео-новости https://www.cyberforum.ru/post4284914.html (пост #8).

что каждый разработчик свои среды расширяет с каждым годом, дополняя их функциями, а каждая книга становится менее актуальной, касательно некоторых вопросов. по этому и тема.
закрепленные темы тоже не висят мертвым грузом, а периодически обновляются и дополняются.
1
 Аватар для Hrethgir
421 / 143 / 3
Регистрация: 25.01.2012
Сообщений: 6,206
Записей в блоге: 177
27.03.2013, 07:44  [ТС]
вот интересное видео, и там куча ещё прилагается по этой же тематике https://www.youtube.com/watch?v=xXX-QtCkrDw
0
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
27.03.2013, 08:34
вот интересное видео...
обратите внимание - та же тема (обучающее видео от Чип и Дип и не только, пост #6, сие в том комплекте)
1
10 / 10 / 7
Регистрация: 05.12.2013
Сообщений: 42
26.04.2014, 14:03
Я задался вопросом что лучше для простого программирования МК С++ или СИ.
Под простым я имею ввиду программирование на начальном уровне.
0
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
26.04.2014, 14:56
Лучше не язык, а понимание работы железяки, ознакомление с даташитом. Язык может быть любой, почти.

Языки программирования для контроллеров, микроконтроллеров и пр.
Builder C++ и контроллер Ардуино

p.s.: будете холиварить, выплюну тему в холивары.
1
62 / 187 / 31
Регистрация: 14.02.2013
Сообщений: 1,696
27.04.2014, 00:17
Скажем если человек изучает и знает C++ и вдруг начал изучать программирования для МК то конечно ему будет проще на C++ писать для МК.
0
 Аватар для Витальич
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
28.04.2014, 10:29
Холиварный такой вопросик
>>Скажем если человек изучает и знает C++ и вдруг начал изучать программирования для МК то конечно ему будет проще на C++ писать для МК
Не будет проще! Но С++ позволяет писать в стиле чистого СИ.
ИМХО: C++ с точки зрения возможностей конечно более продвинутый чем чистый СИ, но все эти возможности реализованы за счет увеличения размера исполняемого кода и уменьшением производительности. Для современных PC это не актуально, в вот в МК может быть решающим фактором.
Но не всё так плохо, если понимать какие вещи в С++ не дают сильного увлечения размера и уменьшение производительности исполняемого кода.
0
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
28.04.2014, 12:15
Цитата Сообщение от Витальич Посмотреть сообщение
Для современных PC это не актуально, в вот в МК может быть решающим фактором.
давайте тогда уточним у ТС какие МК он хочет программировать . А то ведь действительно дла PIC10F200 с ее 384-мя байтам flash (256 слов). на Си++ как-то програмить будет избыточно. А если речь идет о кортексах М4 и т.д. - то тогда Си будет явно маловато.

ЗЫ: а какие вы видите различия между Си и Си++? ООП?
0
10 / 10 / 7
Регистрация: 05.12.2013
Сообщений: 42
28.04.2014, 13:41
Я хотел узнать какой язык лучше для новичка. Для начального изучения программирования МК. Из всего выше сказанного я понял что: СИ лучше для новичка так как он легкий и в нем нет много заумного. А программировать МК на С++ лучше для более сложных проектов.
А ООП тут роли не играет. ООП необходимо при прокладном программирование и не нужно при системном.
0
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
28.04.2014, 19:34
ну да. А еще практически все SDK написаны на трушном Си. Си++ встречается в более продвинутых темнологиях, начиная с серьезных ОСей типа линухи. Даже относительно простые [ОС] ThreadX, RTX, free/safeRTOS и всякие программно-аппаратные "обертки" OSAL для очень разных платформ написаны как правило на сях. Если кто-то знает другое- поправьте меня, плиз.
1
zzzZZZ...
 Аватар для dzrkot
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,041
29.04.2014, 14:55
Цитата Сообщение от Oleg98 Посмотреть сообщение
Я хотел узнать какой язык лучше для новичка. Для начального изучения программирования МК. Из всего выше сказанного я понял что: СИ лучше для новичка так как он легкий и в нем нет много заумного. А программировать МК на С++ лучше для более сложных проектов.
А ООП тут роли не играет. ООП необходимо при прокладном программирование и не нужно при системном.
изучал С++ изначально, чистый Си - только на новой работе в процессе программирования AVR-ок, проблем особо никаких не было, имхо если учить то лучше С++, потом при написании кода на Си после С++ возникает ощущение скудности языка (особенно в серьёзном проекте) и категорически не хватает всяких string , vector и т.п. , но благо при изучении С++ приходится разбираться со всем этим на более глубоком уровне и потом пишешь свои контейнеры и т.п. без проблем, так что имхо учить С++ вместо Си - просто взять планку повыше и всё.
1
0 / 0 / 0
Регистрация: 17.05.2014
Сообщений: 5
17.05.2014, 14:46
Доброго времени суток! Прошу помощи в следующем вопросе. Заранее извиняюсь за рваное изложение.

Перехожу от простого Си к C++ для embeded на микроконтроллерах без выскоуровневых операционок (только RTOS). Поскольку за плечами только опыт работы на процедурном Си, то турдновато в плане в плане мировозрения и проектирования структуры программы. Тут то и прошу совета: каким образом должна быть устроена программа? Я после прочтения книжек по С++ имею представления как писать ГУИ с окнами и сайты, но вот как быть в реалтайм системе пока не совсем догоняю, каким образом подбирать классы и объекты?

Я себе это вижу так: в программе будет один единственный объект создаваемый статически в главном файле (то есть простым объявлением, чтобы не связываться с динамическим выделением памяти). Этот объект будет экземпляром класса, который будет наследовать множество дургих классов, таких скажем как классы стеков протоколов связи, классы с алгоритмами обработки данных, классы с драйверами периферии и т.д.

Так , например, пусть мне надо собирать данные с датчиков, подключенных к шине CAN к моему устройству по протоколу CanOpen, обрабатывать эти данные и передавать скажем по GPRS открывая соединение с телнет сервером. В программе я создаю несколько классов: класс мастера протокола CANopen, он будет наследовать класс драйвера CAN, который будет уже привязан к железу; класс\сборщик данных с тензодатчиков, наследующий свойства класса протокола CANopen (раз уж датчики подключены к этой шине); класс тензодатчиков будет наследовать уже верхний класс приложения, которое по определенному алгоритму будет считывать эти данные, этот же класс будет наследовать класс для работы с GPRS модемом. Экземпляр этого то класса и будет создаваться в main() и он будет запускать в работу всё приложение.

У меня нет идей как быть с прерываниями, как их обработчики закладывать в классы драйверов? Как все это дело привязвать к RTOS? Вообщем буду очень признателен за любые комментарии по теме.

Правда сразу хочу оговориться: Зачем это надо и надо ли вообще - крайне не хотелось бы обсуждать, ибо разговоры на эту тему набили аскомину. Выслушивать, что мол динамическое выделение памяти и микроконтроллеры вещь, приводящая к болезням излечимыми анальными свечками тоже избежать бы.
0
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
17.05.2014, 14:52
Если вы работает под RTOS, то как работать - читать документацию к ней. Под обычными МК никакого ООП нет.
0
0 / 0 / 0
Регистрация: 17.05.2014
Сообщений: 5
18.05.2014, 12:07
Есть, сейчас почти все компиляторы под arm (keil, iar, eclipse, avr) поддерживают С++. RTOS здесь вообще ни при чем.
0
71 / 45 / 24
Регистрация: 11.05.2014
Сообщений: 179
18.05.2014, 12:26
Знаете, когда-то программировал на голом C от Keil разные контроллеры и чего только не реализовывал в плане структур данных, прерываний и проч. Вам зачем именно C++ на контроллерах?? Хотите связываться со всеми прелестями интенсивной работы с памятью из-за примочек C++?? Не боитесь, что всякими темплэйтами и прочим потеряете в производительности? IMHO, C++ хорош на своем месте - это всякие RADы и встроенные интерфейсы, но чтобы CAN на C++ - зачем??
0
 Аватар для Витальич
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
18.05.2014, 12:48
Ну зачем так категорично. Уже писал здесь на форуме, что если знать/понимать как С++ транслирует свои навороты в асм, то С++ даже очень удобен. Тот же CAN будет выглядеть в коде более удобно.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class CAN
{
 public:
         CAN();
         void DataLoad(char *val);
         void DataSave(char *val);
 private:
         void InitCan();
};
 
CAN::CAN()
{
 InitCan();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.05.2014, 12:48
Помогаю со студенческими работами здесь

Какой язык выбрать для программирования микроконтроллеров
Добрый день, хочу изучить язык программирования микроконтроллеров, опыт небольшой есть. В года 2 назад в университете делал лабораторные на...

Ассемблеры для программирования микроконтроллеров, 8-битных микропроцессоров
В программировании микроконтроллеров и прочего, не связанного с IA-32/Intel 64 не шарю, в связи с чем вопрос: какие есть ассемблеры для...

Графический язык ДРАКОН для программирования микроконтроллеров
ДРАКОН — визуальный язык, в котором используются два типа элементов: графические фигуры (графоэлементы) и текстовые надписи, расположенные...

Языки программирования для хака
Какие надо знать языки программирования для взлома сайтов?

Какие книги, статьи и материалы необходимо изучить для программирования микроконтроллеров
Нужна подсказка, начал изучать Visual Studio 2013 C++(в текущий момент пишу программу с авторизацией, которая будет производить расчеты для...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 19.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru