Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
356 / 124 / 3
Регистрация: 25.01.2012
Сообщений: 5,464
Записей в блоге: 118
1

Программирование микроконтроллеров

23.04.2016, 07:10. Показов 5068. Ответов 54
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Можно- ли в lazarus программировать микроконтроллеры на паскале?
Заранее благодарен за ответ.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.04.2016, 07:10
Ответы с готовыми решениями:

Программирование микроконтроллеров
где почитать?

Программирование микроконтроллеров
Всем привет, возникла проблема с кодом. Препод злюка не хочет помогать с этим. Суть проблемы. Пишу...

Программирование микроконтроллеров
Работаю в ImageCraft IDE for AVR. Хочу написать программу, которая бы считала функцию, не понимаю в...

Программирование микроконтроллеров
Собственно хочу узнать как и где. В нете не смог найти хорошо структурированной информации. Прошу...

54
389 / 188 / 47
Регистрация: 11.07.2013
Сообщений: 1,120
24.04.2016, 22:07 2
Лучший ответ Сообщение было отмечено Hretgir как решение

Решение

Программировать непосредственно "железо" - нет. У каждого микроконтроллера своя архитектура и соответственно свой, как правило, C-шный или Assembler-ный компилятор.
Однако некоторые контроллеры поддерживают ОС на основе Linux. Соответственно под них можно писать ПО на Lazarus-е. Не дорогим представителем таких МК является BCM2835, установленный в микрокомпьютере Raspberry-Pi c ОС Raspbian. Можно писать ПО под ряд промышленных контроллеров, работающих на ОС Windows-CE. Так же можно писать ПО под сотовые телефоны с ОС Android, в основе их так же микроконтроллеры семейства ARM.
А вообще, лучше писать на C. Для микроконтроллеров он на мгого проще, чем монстры, типа VC++ и при желании, если знаете архитектуру микроконтроллера, то освоите его за неделю.
1
356 / 124 / 3
Регистрация: 25.01.2012
Сообщений: 5,464
Записей в блоге: 118
24.04.2016, 22:21  [ТС] 3
мне проще на ассемблере писать для микроконтроллера, чем вникать в с из-за микроконтроллера.
0
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
24.04.2016, 23:55 4
Я пробовал AVRки для приспособ. Поначалу assembler. Решил попробовать C. Листинги удивили качеством - почти также я бы сделал на асме. А кроме того, когда потребовалось перенести код на другую AVR, для асма нужно было по новому из даташита переопределять вектора прерываний, названия конфигурационных регистров. А на С всё ограничилось заменой процессора в заголовке.
1
356 / 124 / 3
Регистрация: 25.01.2012
Сообщений: 5,464
Записей в блоге: 118
25.04.2016, 08:36  [ТС] 5
Вообще желателен микроконтроллер с беспроводной связью, bluetooth хотя-бы.Хотя, они вроде сопрягаются успешно.
0
389 / 188 / 47
Регистрация: 11.07.2013
Сообщений: 1,120
25.04.2016, 11:32 6
Честно говоря, с МК со встроенным bluetooth не сталкивался. Как правило, у каждого разработчика есть 2-3 типа МК, с которыми он работает. Остальное можно "прикрутить" за счёт внешней перефирии. Исходя из цены, возможностей, качества и перспективности про С51 можно забыть, AVR-ы в связи с неопределённостью судьбы их производителя и периодической неадекватностью ценовой политики выбирать в качестве основных не советовал бы, хотя контроллеры хорошие. Остаются из дочтупных PIC, MSP, ARM (наиболее ходовые из них LPC и STM32), STM8. Лично я отдаю предпочтение ARM. Собственно BCM2835 относится к этому типу и для него можно писать на Лазарусе (разумеется, при определённых условиях - обвеска и ОС).
Цитата Сообщение от Hretgir Посмотреть сообщение
мне проще на ассемблере писать для микроконтроллера, чем вникать в с из-за микроконтроллера.
Зря вы так. Если "поморгать" лампочками, то и ассемблер пойдёт, а если, например, какие-то интегральные расчёты, обмен через интернет и т.п., то может и получится написать на ассемблере к пенсии... К стати, наиболее критические места в C-шной программе часто делаются, как ассемблерные вставки.
1
Эксперт CЭксперт С++
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
25.04.2016, 11:47 7
Цитата Сообщение от shyub Посмотреть сообщение
Зря вы так. Если "поморгать" лампочками, то и ассемблер пойдёт, а если, например, какие-то интегральные расчёты, обмен через интернет и т.п., то может и получится написать на ассемблере к пенсии... К стати, наиболее критические места в C-шной программе часто делаются, как ассемблерные вставки.
shyub, все дело в личных предпочтениях и умении. Лично я пишу программы для AVR-ок исключительно на асме. И поверьте мне, это далеко не "мигалки". По времени написания ничуть не медленнее, чем на С. А по качеству, компактности, как небо и земля.
Что касается ARM-ов, то писал и для них. Инициализацию оставляю на С, вся работа исключительно на асме.
1
600 / 548 / 210
Регистрация: 24.01.2012
Сообщений: 1,348
25.04.2016, 13:59 8
Цитата Сообщение от Hretgir Посмотреть сообщение
Вообще желателен микроконтроллер с беспроводной связью
Недавно в интернете наткнулся на микроконтроллер ESP8266. Так он с встроенным wifi.
1
356 / 124 / 3
Регистрация: 25.01.2012
Сообщений: 5,464
Записей в блоге: 118
25.04.2016, 14:05  [ТС] 9
Мне надо, чтобы с компьютера управлять некоторым аппаратом, выполняющим упражнения на турнике и других спортивных снарядах. Дроид, высотой примерно 300 мм преполагаю, но точно не больше полуметра. Смысл в том, чтобы просто я фиксирую дроида на турнике, в ручную с компьютера, убираю подставку, выбираю упражнение, запуск и он крутится (выполняет упражнение). Всё понятно - это не просто, вес машины и прочее, но именно на это мне в ФИПСе и выдают патент, аппараты построеные с применением патентуемого изобретения будут лёгкие и дешёвые. Всё не могу расписывать тут, пока только признают патентноспособным, производится совместно с комиссией по существу корректировка родового понятия. В общем микроконтроллер будет управлять, будут энкодеры и тактильные кнопки, с компьютера просто будет выбор...программы наверное выбор, или G-кода. Но G-код это не правильное определение, потому что будет синхронизация манипуляторов через энкодеры и прочее. Поэтому скорее выбор программы.
0
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
25.04.2016, 14:19 10
Цитата Сообщение от edukra Посмотреть сообщение
Недавно в интернете наткнулся на микроконтроллер ESP8266. Так он с встроенным wifi.
Raspberry Pi-3 тоже со встроенным WI-FI. А в предыдущие можно в USB $2-вый Wi-Fi донгл ставить.
Цитата Сообщение от _liv_ Посмотреть сообщение
все дело в личных предпочтениях и умении. Лично я пишу программы для AVR-ок исключительно на асме. И поверьте мне, это далеко не "мигалки". По времени написания ничуть не медленнее, чем на С. А по качеству, компактности, как небо и земля.
Все дело действительно в задачах. ATMega по вычислительной мощности потянет управление прокатным станом. Только оперативы и память программ докинуть. А пригоршня мег так вообще. Ну не на асме же такие задачи писать.
1
Эксперт CЭксперт С++
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
25.04.2016, 14:24 11
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Ну не на асме же такие задачи писать.
Fulcrum_013, именно, на асме Легко и непринужденно...
Впрочем, я говорю о себе. Каждый волен выбирать тот инструмент, который устраивает его...
0
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
25.04.2016, 14:32 12
Цитата Сообщение от _liv_ Посмотреть сообщение
Легко и непринужденно...
ООП на асме легко и непринужденно не бывает к сожалению. Так же как и интегрирование систем дифуров. А то что вытворяет оптимизатор C++ - то еще 20 лет назад глядя на его умения забил на ассемблерные вставки, все равно тот же код получается.
0
Эксперт CЭксперт С++
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
25.04.2016, 15:28 13
Fulcrum_013, зачем валить все в кучу?
1) ООП для микроконтроллеров совершенно не нужен. У них стоит задача быстро управлять,
т.к. они решают задачи в реальном времени. Бывает, что времени, ох как в обрез!
Впрочем, с ООП на Ассемблере я одно время игрался... На компьютере, правда. Ничего сложного. Только отказался от него. Не нравится мне ООП. Лишние накрутки.
Возможно, на компе и годится, но не для контроллеров.
2) Как и интегрирование систем диффуров. Для этого есть комп. Для него я пишу на С++.
Впрочем, будет надо, напишу и на асме. Не составит никакого труда.
Писал как-то объемные эффекты на асме с применением тригонометрии на ARM-е. Не проще интегрирования ,
т.к. надо все успеть за определенное время.
3) Никогда оптимизизатор не сделает код лучше, чем человек. Разумеется, если человек понимает толк в программировании на Ассемблере.
4) На асме можно писать для любого контроллера, даже если у него совершенно нет оперативки.
На С такой номер не пройдет...
5) На асме программы успевают сделать намного больше, чем аналогичные, написанные на С.
И размер кода получается меньше (экономия опять же, не нужен более мощный контроллер)
6) На вкус и цвет товарища нет Каждый волен выбирать то, что ему по душе
0
356 / 124 / 3
Регистрация: 25.01.2012
Сообщений: 5,464
Записей в блоге: 118
25.04.2016, 15:38  [ТС] 14
edukra, я так понял, что ESP8266 это радиомодуль, который программируется, но не сам микроконтроллер для управления аппаратами.
0
Эксперт CЭксперт С++
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
25.04.2016, 15:46 15
Hretgir, ESP8266 - не радиомодуль, а модуль WiFi.
Кстати, достаточно неплохой. У себя я его использую в связке с другим контроллером AVR,
который выполняет основную работу. Для ESP8266, в принципе, можно написать свою программу,
но мне, кажется, все-таки лучше его использовать только для связи с компом.
0
356 / 124 / 3
Регистрация: 25.01.2012
Сообщений: 5,464
Записей в блоге: 118
25.04.2016, 15:50  [ТС] 16
думаю что вот эту штуку https://ru.wikipedia.org/wiki/Raspberry_Pi как-то можно сопречь с контроллером, управляющим исполнительными механизмами и датчиками, там вроде даже USB порт есть. А управление всем аппаратом уже с ПК.
0
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
25.04.2016, 15:52 17
Цитата Сообщение от _liv_ Посмотреть сообщение
Как и интегрирование систем диффуров. Для этого есть комп. Для него я пишу на С++.
Например просчет траекторий и т.д и т.п используемые для управления всякими девайсами.
Цитата Сообщение от _liv_ Посмотреть сообщение
У них стоит задача быстро управлять,
т.к. они решают задачи в реальном времени. Бывает, что времени, ох как в обрез!
Не в обрез а лимит. Если в обрез то про применение данного агрегата к данному процессу можно забыть. Кстати вычислительная мощность той же меги гораздо поболе чем вычислительная мощность УВМ реально управляющих к примеру прокатными станами (управляемо и компами с 800Кгц тактовой и эмуляцией FPU). Кстати ООП помогает время экономить. Indirect call виртуального метода хоть и дольше чем direct call но быстрее и компактнее ветвления, особенно когда вариантов много.
0
356 / 124 / 3
Регистрация: 25.01.2012
Сообщений: 5,464
Записей в блоге: 118
25.04.2016, 15:53  [ТС] 18
_liv_, я не думаю не мучаться, с учётом того что изделие поедет на выставку, просто сделать через микрокомпьютер с WI-FI-ем.
0
Эксперт CЭксперт С++
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
25.04.2016, 15:57 19
Для этой планы нет необходимости сопрягать с дополнительным контроллером.
Сам АРМ может управлять при помощи GPIO
Версия 3 имеет на борту WiFi иBluetooth
Осваивайте АРМ и вперед!
0
356 / 124 / 3
Регистрация: 25.01.2012
Сообщений: 5,464
Записей в блоге: 118
25.04.2016, 15:59  [ТС] 20
Fulcrum_013, сложные расчёты не предпалагаются, в перспективе демонстрация тяговых (физических) характеристик аппарата, программирование мне тут не нужно сложное, я даже думал какое-то время через тросики управлять джойстиками, но потом подумал, что так можно не справиться с управлением и просто залажаться - тупо не хватит рук на каждый джойстик.
0
25.04.2016, 15:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.04.2016, 15:59
Помогаю со студенческими работами здесь

Визуальное программирование микроконтроллеров
Создаю визуальную среду для построения алгоритмов работы будущих устройств. Данная среда использует...

программирование микроконтроллеров pic
подскажите полному нубу, с чего начать... какой софт поставить, как спаять программатор под пик,...

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

С чего начать? программирование микроконтроллеров
Здрасьте. Хочу начать заниматься программированием микроконтроллеров. Хотел бы купить все...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru