Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.58/33: Рейтинг темы: голосов - 33, средняя оценка - 4.58
432 / 95 / 2
Регистрация: 25.01.2012
Сообщений: 3,371
Записей в блоге: 25
1

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

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

Извините за нубский вопрос: а собственно на каком языке можно программировать например ПЛИС, и какие среды разработки, для этого существуют или подходят? если ответ уже где-то есть, можете удалить тему, показав мне где это. Просто интересно, а книжки все сразу перечитывать некогда.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.03.2013, 21:11
Ответы с готовыми решениями:

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

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

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

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

47
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
28012 / 15738 / 971
Регистрация: 15.09.2009
Сообщений: 67,812
Записей в блоге: 78
26.03.2013, 21:15 2
Литература по программированию в электронике, микроконтроллеры и ПЛИС
1
432 / 95 / 2
Регистрация: 25.01.2012
Сообщений: 3,371
Записей в блоге: 25
26.03.2013, 21:28  [ТС] 3
спасибо. я смотрел эту закреплённую тему. дело в том, что каждый разработчик свои среды расширяет с каждым годом, дополняя их функциями, а каждая книга становится менее актуальной, касательно некоторых вопросов. по этому и тема.
0
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
28012 / 15738 / 971
Регистрация: 15.09.2009
Сообщений: 67,812
Записей в блоге: 78
26.03.2013, 21:31 4
ну.....
самая актуальная инфа - на сайтах производителей,
как даташиты к микросхемам, так и описания сред разработки...
1
10205 / 6587 / 493
Регистрация: 28.12.2010
Сообщений: 21,165
Записей в блоге: 1
26.03.2013, 23:39 5
Извините за нубский вопрос: а собственно на каком языке можно программировать например ПЛИС,
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/post4284914.html (пост #8).

что каждый разработчик свои среды расширяет с каждым годом, дополняя их функциями, а каждая книга становится менее актуальной, касательно некоторых вопросов. по этому и тема.
закрепленные темы тоже не висят мертвым грузом, а периодически обновляются и дополняются.
1
432 / 95 / 2
Регистрация: 25.01.2012
Сообщений: 3,371
Записей в блоге: 25
27.03.2013, 07:44  [ТС] 6
вот интересное видео, и там куча ещё прилагается по этой же тематике https://www.youtube.com/watch?v=xXX-QtCkrDw
0
10205 / 6587 / 493
Регистрация: 28.12.2010
Сообщений: 21,165
Записей в блоге: 1
27.03.2013, 08:34 7
вот интересное видео...
обратите внимание - та же тема (обучающее видео от Чип и Дип и не только, пост #6, сие в том комплекте)
1
10 / 10 / 7
Регистрация: 05.12.2013
Сообщений: 42
26.04.2014, 14:03 8
Я задался вопросом что лучше для простого программирования МК С++ или СИ.
Под простым я имею ввиду программирование на начальном уровне.
0
10205 / 6587 / 493
Регистрация: 28.12.2010
Сообщений: 21,165
Записей в блоге: 1
26.04.2014, 14:56 9
Лучше не язык, а понимание работы железяки, ознакомление с даташитом. Язык может быть любой, почти.

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

p.s.: будете холиварить, выплюну тему в холивары.
1
141 / 119 / 21
Регистрация: 14.02.2013
Сообщений: 816
27.04.2014, 00:17 10
Скажем если человек изучает и знает C++ и вдруг начал изучать программирования для МК то конечно ему будет проще на C++ писать для МК.
0
1279 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,886
28.04.2014, 10:29 11
Холиварный такой вопросик
>>Скажем если человек изучает и знает C++ и вдруг начал изучать программирования для МК то конечно ему будет проще на C++ писать для МК
Не будет проще! Но С++ позволяет писать в стиле чистого СИ.
ИМХО: C++ с точки зрения возможностей конечно более продвинутый чем чистый СИ, но все эти возможности реализованы за счет увеличения размера исполняемого кода и уменьшением производительности. Для современных PC это не актуально, в вот в МК может быть решающим фактором.
Но не всё так плохо, если понимать какие вещи в С++ не дают сильного увлечения размера и уменьшение производительности исполняемого кода.
0
1782 / 1112 / 109
Регистрация: 04.01.2010
Сообщений: 3,921
28.04.2014, 12:15 12
Цитата Сообщение от Витальич Посмотреть сообщение
Для современных PC это не актуально, в вот в МК может быть решающим фактором.
давайте тогда уточним у ТС какие МК он хочет программировать . А то ведь действительно дла PIC10F200 с ее 384-мя байтам flash (256 слов). на Си++ как-то програмить будет избыточно. А если речь идет о кортексах М4 и т.д. - то тогда Си будет явно маловато.

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

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

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

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

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

Правда сразу хочу оговориться: Зачем это надо и надо ли вообще - крайне не хотелось бы обсуждать, ибо разговоры на эту тему набили аскомину. Выслушивать, что мол динамическое выделение памяти и микроконтроллеры вещь, приводящая к болезням излечимыми анальными свечками тоже избежать бы.
0
10205 / 6587 / 493
Регистрация: 28.12.2010
Сообщений: 21,165
Записей в блоге: 1
17.05.2014, 14:52 17
Если вы работает под RTOS, то как работать - читать документацию к ней. Под обычными МК никакого ООП нет.
0
0 / 0 / 0
Регистрация: 17.05.2014
Сообщений: 5
18.05.2014, 12:07 18
Есть, сейчас почти все компиляторы под arm (keil, iar, eclipse, avr) поддерживают С++. RTOS здесь вообще ни при чем.
0
70 / 44 / 24
Регистрация: 11.05.2014
Сообщений: 176
18.05.2014, 12:26 19
Знаете, когда-то программировал на голом C от Keil разные контроллеры и чего только не реализовывал в плане структур данных, прерываний и проч. Вам зачем именно C++ на контроллерах?? Хотите связываться со всеми прелестями интенсивной работы с памятью из-за примочек C++?? Не боитесь, что всякими темплэйтами и прочим потеряете в производительности? IMHO, C++ хорош на своем месте - это всякие RADы и встроенные интерфейсы, но чтобы CAN на C++ - зачем??
0
1279 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,886
18.05.2014, 12:48 20
Ну зачем так категорично. Уже писал здесь на форуме, что если знать/понимать как С++ транслирует свои навороты в асм, то С++ даже очень удобен. Тот же 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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.05.2014, 12:48

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

Языки программирования для разработки игр
Как думаете на каком языке программирования лучше написать игру, по типу пиксельной roguelike?...

Языки программирования для инженера ЭВМ
Доброго времени суток! Вопрос у меня довольно-таки "философический". Не обладая базовыми знаниями...

Языки программирования для работ с БД на платформах MS SQL
Привет Люди, объясните, какие языки программирования используются для разработок интерфейсов БД...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.