Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.73/33: Рейтинг темы: голосов - 33, средняя оценка - 4.73
Заблокирован

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

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

Студворк — интернет-сервис помощи студентам
Можно- ли в lazarus программировать микроконтроллеры на паскале?
Заранее благодарен за ответ.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.04.2016, 07:10
Ответы с готовыми решениями:

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

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

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

55
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
25.04.2016, 16:01
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от _liv_ Посмотреть сообщение
Никогда оптимизизатор не сделает код лучше, чем человек. Разумеется, если человек понимает толк в программировании на Ассемблере.
Не хуже сделает это точно.

Добавлено через 31 секунду
Цитата Сообщение от _liv_ Посмотреть сообщение
На асме можно писать для любого контроллера, даже если у него совершенно нет оперативки.
Регистры тоже оперативка.
0
Заблокирован
25.04.2016, 16:01  [ТС]
_liv_, я всё-таки больше склоняюсь к микрокомпьютеру сопряжённому с дополнительным микроконтроллером.
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
25.04.2016, 16:03
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Например просчет траекторий и т.д и т.п используемые для управления всякими девайсами.
Никаких проблем! Могу добавить, что я -ассемблерщик с 30-летним стажем Плюс ко всему - математик по образованию Так что мне все эти Ваши расчеты, как орешки
Цитата Сообщение от Fulcrum_013
особенно когда вариантов много.
А я только так и пишу Команды icall и ijmp - мои любимые.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
25.04.2016, 16:05
Цитата Сообщение от _liv_ Посмотреть сообщение
На асме программы успевают сделать намного больше, чем аналогичные, написанные на С.
И размер кода получается меньше (экономия опять же, не нужен более мощный контроллер)
Абсолютно одинаково при толковом оптимизаторе и толковом С коде. Все те же алгоритмические оптимизации что и на ассемблере доступны и на С, а алгоритмическая оптимизация дает на порядки большее ускорение чем выжимание инструкций. Оптимизация же по скорости в любом случае лучше будет сделана оптимизатором (типа разворачивания циклов с известным на момент компиляции количеством итераций, оптимизация хвостовой рекурсии и т.д и т.п )
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
25.04.2016, 16:09
Цитата Сообщение от Hretgir Посмотреть сообщение
, я всё-таки больше склоняюсь к микрокомпьютеру сопряжённому с дополнительным микроконтроллером.
Не вопрос. Теми же портами можно общаться с кем угодно.
Только вопрос, зачем тогда эта плата?
Я бы предложил что-нибудь на какой-то AVR-ке, типа той же Arduino, в связке с WiFi модулем типа Esp8266
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
25.04.2016, 16:12
Цитата Сообщение от _liv_ Посмотреть сообщение
А я только так и пишу Команды icall и ijmp - мои любимые.
Только гораздо удобнее когда их проставляет компилятор.
Цитата Сообщение от _liv_ Посмотреть сообщение
Никаких проблем! Могу добавить, что я -ассемблерщик с 30-летним стажем Плюс ко всему - математик по образованию Так что мне все эти Ваши расчеты, как орешки
Расчеты расчетами, а интерпретация формул интерпретацией формул, все таки чем ближе к алгебраической нотации тем лучше. Особенно если это касается управления процессами. Чем ниже читабельность кода, а особенно вычислительной части, и дальше от математической нотации код тем ближе к аварии. Тоже касается типобезопасности, которая абсолютная достигается только переопределением алгебры (набора операторов и возвращаемых ими типов) над сущностями. При этом и с 16-ю регистрами оптимизатор такие чудеса на виражах вытворяет что обалдеть. А с 32-мя как на меге вообще улет будет.
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
25.04.2016, 16:18
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Абсолютно одинаково при толковом оптимизаторе и толковом С коде. Все те же алгоритмические оптимизации что и на ассемблере доступны и на С, а алгоритмическая оптимизация дает на порядки большее ускорение чем выжимание инструкций. Оптимизация же по скорости в любом случае лучше будет сделана оптимизатором (типа разворачивания циклов с известным на момент компиляции количеством итераций, оптимизация хвостовой рекурсии и т.д и т.п )
Я сразу пишу оптимальным алгоритмом. Вы говорите с человеком, который на ассемблере зубы съел Разумеется, можно и на асме написать так, что можно за голову схватиться. Но я лучше знаю, как должна работать моя программа, чем оптимизатор, который применяет некие стандартные приемы. Я же в каждом конкретном случае оптимизирую, исходя из ситуации. Никакой оптимизатор не сделает это лучше меня.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
25.04.2016, 16:23
Цитата Сообщение от _liv_ Посмотреть сообщение
Я сразу пишу оптимальным алгоритмом.
Опечатки у вас никогда не случаются? А это такая штука которая может проявиться когда хвататься будет уже не за что. Да и типобезопасность проверять ой-ой-ой как надо вручную. А из за нарушения типобезопасности и ракеты на стартовом столе взрывались случалось.
Цитата Сообщение от _liv_ Посмотреть сообщение
Я же в каждом конкретном случае оптимизирую, исходя из ситуации
А отимизатор то же самое делает, при этом еще и глобальную оптимизацию умеет. А только локальная в следствие принципа суперпозиции вообще никакую оптимизацию не гарантирует.
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
25.04.2016, 16:31
Fulcrum_013, А программы на С сразу пишутся без ошибок?
Ошибки случаются, без них не бывает программирования. Но как-то быстро находятся
Еще один момент: среда программирования с хорошим оптимизатором стоит денег.
Я же пользуюсь совершенно бесплатными продуктами...
И прекрасно обхожусь без лишнего
Спасибо за беседу. У каждого свой взгляд, и это хорошо!
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
25.04.2016, 16:54
Цитата Сообщение от _liv_ Посмотреть сообщение
А программы на С сразу пишутся без ошибок?
С гораздо меньшим. А на С++ с еще гораздо более меньшим. Потому как при толковом подходе компилятор не даст сложить время со скоростью и к примеру координату с координатой, а вот произведение времени на скорость вернет смещение которое сложится с координатой. Это позволяет отлавливать огромное количество ошибок, в том числе опечаток.

Добавлено через 31 секунду
Цитата Сообщение от _liv_ Посмотреть сообщение
среда программирования с хорошим оптимизатором стоит денег
А ошибки в управлении процессами стоят жизней.

Добавлено через 4 минуты
Цитата Сообщение от Hretgir Посмотреть сообщение
ложные расчёты не предпалагаются, в перспективе демонстрация тяговых (физических) характеристик аппарата,
Вы хотите чтобы аппарат кувыркался на турнике и других снарядах. Тут как минимум без инверсной кинематики не обойдется, причем с расчетом импульсов и ускорений. А это те еще расчеты.
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
25.04.2016, 17:16
У меня почему-то не бывает типозависимых ошибок. Я очень внимательно слежу за своими переменными.
Бывают ошибки, как я их называю "от Семен Семеныча", типа номер бита вместо маски бита, забыл настроить порт, не тот регистр (переменная, равная по типу!)... Т.е. такие, которые никакой компилятор тоже не отловит Так что тут мы в равных условиях... Процесс отладки у меня занимает день-максимум два. И зачем мне С?
"А ошибки в управлении процессами стоят жизней" - слишком пафосно! Вы гарантируете, что в программе на С будет меньше ошибок, чем в моей на асме? Я в своей программе проползаю через каждую команду, каждый бит! Я их чувствую кожей! И знаю, где и как работает... Смотрю на осциллографе, как все раскладывается по времени...

Добавлено через 6 минут
Hretgir, Полезная статейка http://robocraft.ru/blog/mechanics/756.html
Все вычисления сводятся к тригонометрии. Но повозиться придется, это точно.
2
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
25.04.2016, 17:56
Цитата Сообщение от _liv_ Посмотреть сообщение
Т.е. такие, которые никакой компилятор тоже не отловит
Отловит. Потому как типы перепрограммируемы. Можно определять алгебры над сущностями. К примеру можно сделать так чтобы координата не складывалась с координатой а только с вектором перемещения. А между координатами выполнялось только сравнение и вычитание дающее вектор перемещения.
Это гарантирует что в программах управления процессами как минимум дурацких ляпов по описке, которые могут вылезти не на этапе тестирования а гораздо позже, не будет. Так же как и дает гораздо большую читабельность кода, что сильно снижает количество логических ошибок в расчетах и облегчает их нахождение на этапе отладки и тестирования.
0
Заблокирован
25.04.2016, 18:01  [ТС]
Цитата Сообщение от _liv_ Посмотреть сообщение
Hretgir, Полезная статейка
спасибо, посмотрел. но всё-так склоняюсь к микрокомпьютеру ещё по причине того, что в общем в плане управления у меня не всё так просто, да и даже та статейка слишком простецки выглядит, она очень удобна для использования на одном исполнительном механизме или манипуляторе. в аппарате всё намного сложнее, я даже думал создать свой небольшой инерпретатор и не очень емкий язык программирования, для написания программ управления кинематикой сложных механических аппаратов, типа андроида (не ОС). Вообще гугл наперекос терминам роботостроения придумал название своей ОС. Поэтому я всё-таки склоняюсь к микрокомпьютеру.
Я пытался создать тему на предмет создания языка для кинематики, но в общем-то не пошло пока. Я думаю, что как только у меня будет функциональный аппарат (я даже 3д принтер купил за 120 т.р Picaso Designer), дело пойдёт лучше. Я не привык скупиться на средства и время ради достижения задачи.
И дело там даже не в тригонометрии, изначальное задаётся линейка событий, все действия аппарата должны быть типизированы по отношению друг к другу. Представьте себе линейку событий, а на ней мы накладываем линейки действий, действия бывают сопряжёнными и не сопряжёнными, относительно синхронными и абслютно синхронными. Я-бы рассказал намного больше, в плане того, над чем стоит подумать в управлении кинематикой аппарата, но пока не буду, пока ограничусь печатью необходимых стэндов для тест драйва кинематических узлов аппарата. А так да, мне будет необходима помощь, те способы управления кинематикой, которые рассматриваются в настоящий момент-как в той статье, они вообще не рассматривают никаких проблем в целом, там задача намного шире - язык управления опорнодвигательной системой аппарата. Я думаю, что в определённый момент я вернусь к этой проблеме на этом форуме. А пока просто выберу микрокомпьютер и сопряжённый микроконтроллер. И вы зря спорите, проблема управления кинематикой намного шире банального выбора языка программирования, и решатся она будет сразу несколькими языками, в том числе и асмом, но высокоуровневый язык на настоящий момент отсутствует, но даже когда он будет - всё равно асм использоваться будет тоже, даже в одной программе.
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
25.04.2016, 18:11
Hretgir, остается только пожелать удачи!

Добавлено через 8 минут
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
гораздо большую читабельность кода, что сильно снижает количество логических ошибок в расчетах и облегчает их нахождение на этапе отладки и тестирования.
Я тексты на асме читаю легко и свободно, даже по прошествии многих лет. Каждый идентификатор несет смысл в своем названии. Все регистры названы. Вы просто не знаете, как можно писать на асме!
Я не спорю, контроль компилятора С за "вшивостью" программиста - вещь полезная, многие пишут коряво.
Но мне это не нужно! Я сам веду за собой контроль.
2
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
25.04.2016, 18:14
Цитата Сообщение от Hretgir Посмотреть сообщение
Я не привык скупиться на средства и время ради достижения задачи.
Raspberry Pi-3 с 1GB оперативки и 1,2GHz 4 ядерным 64-битным процом на AliExpress обойдется примерно в $85 вместе с 7" сенсорным монитором. А без монитора и в $50 уложитесь.

Добавлено через 1 минуту
Цитата Сообщение от _liv_ Посмотреть сообщение
Но мне это не нужно! Я сам веду за собой контроль.
Угу. Только вот муторно инлайнить к примеру перемножение векторов и матриц. И ошибок понаделать можно... да и когда векторная формула записана как векторная формула а не как набор вызовов тоже все таки гораздо читабельней.
1
Заблокирован
25.04.2016, 18:21  [ТС]
Цитата Сообщение от _liv_ Посмотреть сообщение
Hretgir, остается только пожелать удачи!
Спасибо, качество печати меня устраивает, работаю в Blender 3D, как только я получу возможность (окончание переписки и заключение комиссии, оно патентноспобное, но идёт корректировка), я сообщу в этой теме линк на открытие новой, в другом разделе (что-то типа робототехники), тогда я смогу выкладывать ролики по работе узлов, аппарата, тогда мы все и сможем рассмотреть проблему управления кинематикой во всей красе, а пока это попытка лететь без крыльев. Ну по крайней мере курс движения рассмотрели.

Добавлено через 53 секунды
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Raspberry Pi-3 с 1GB оперативки и 1,2GHz 4 ядерным 64-битным процом на AliExpress обойдется примерно в $85 вместе с 7" сенсорным монитором. А без монитора и в $50 уложитесь.
Да, примерно так и буду ориентироваться+ сопряжённый микроконтроллер и прочее.
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
25.04.2016, 18:22
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Только вот муторно инлайнить к примеру перемножение векторов и матриц. И ошибок понаделать можно...
Кому как. Мне не муторно. Делаю легко и практически без ошибок. Каждому свое
Я ассемблерщик "до мозга костей". Даже программу на С++ отлаживаю, как ассемблерную.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
25.04.2016, 18:35
Цитата Сообщение от _liv_ Посмотреть сообщение
Даже программу на С++ отлаживаю, как ассемблерную.
Бывает и так. Особенно когда исходника нет.
Цитата Сообщение от _liv_ Посмотреть сообщение
Каждому свое
Так недалеко до квалификации "вычислитель электронных вычислительных машин". Если каждую операцию над матрицами веторами вручную переписывать, то когда же решением задачи заниматься. А если еще учесть что под один проц через FPU под другой через эмуляцию а под третий через AVX то ой ой ой получается.

Добавлено через 6 минут
Цитата Сообщение от Hretgir Посмотреть сообщение
сопряжённый микроконтроллер и прочее.
Ну в плане сопряженных микроконтроллеров скорее всего понадобится хороший термовоздушный паяльник. Там же можно в $36 уложится, плюс куча всяких мелочей для травления плат. Некоторые датчики типа магниторезисторов и тп тоже гораздо дешевле там, меги и т.п. высоких моделей тоже можно там в 2 раза дешевле найтить если пригоршню брать сразу, если по одной то дешевле процентов на 15-20 но время доставки слишком большое, до 2 месяцев. Моторчики всякие там тоже и выбор и дешево и сразу совмещенные с разноплановыми редукторами и/или с ходовым винтом тоже есть, причем в том числе и миниатюрные с винтом M3. Если сильно покапать то и ШВП с винтом от 4 мм тоже найти можно. причем ШВП значительно дешевле чем здесь.
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
25.04.2016, 18:46
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Особенно когда исходника нет
Fulcrum_013, ну почему? И в исходник смотрю, и в код
"Вычислитель"... Ха-ха, Вы не поверите, в свою бытность я имел дело с перфолентами. Выводила моя программка перфоленту для управления ЧПУ. Так я читал перфоленту без запинки... Было дело...

Ну почему сразу переписывать... Накопилось куча кода, который просто копируется и адаптируется.
Я ж говорил, я пишу код на асме очень быстро... Все мысли сосредоточены именно на алгоритме. Реализация - дело, практически, автоматическое.
К тому же речь идет все же об AVR. Однотипных задач очень много. При этом чисто вычислительных очень мало. Зачем говорить о математике? Основная задача - управление - дергать портами, а не считать.
Да и вещественные числа мне ни к чему, эмуляция слишком затратна по времени. В сучае необходимости, у меня есть своя "целочисленная" вещественная арифметика.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
25.04.2016, 18:47
Цитата Сообщение от _liv_ Посмотреть сообщение
Основная задача - управление - дергать портами, а не считать.
А как определяете когда и каким портом дернуть?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.04.2016, 18:47

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru