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

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

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

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

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

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

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

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

54
Эксперт CЭксперт С++
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
25.04.2016, 18:53 41
Author24 — интернет-сервис помощи студентам
Fulcrum_013, каким портом - перед глазами схема, когда - как сам решу.
0
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
25.04.2016, 19:01 42
Цитата Сообщение от _liv_ Посмотреть сообщение
Вы не поверите, в свою бытность я имел дело с перфолентами
Перфоленты издали видел. Перфораторы для перфокарт еще тоже видел, правда не в работе. Как раз как то эмулятор для телетайпа на котором перфоратор был встроенный делал. Функция перфоратора уже правда была неактуальна поэтому без нее.
Цитата Сообщение от _liv_ Посмотреть сообщение
В сучае необходимости, у меня есть своя "целочисленная" вещественная арифметика.
Fixed Point далеко не всегда достаточно. Хотя для токарки с ЧПУ выше крыши (я правда имел дело с теми на которых уже магнитная лента встроена была, а под перфоленту на соседнем участке были). Но есть очень нехороший недостаток у всех этих токарок с ЧПУ болгарского производства с совдеповским контроллером - из за того что с плавающей арифметикой не дружат не умеют вычислять начальную и конечную точку окружности для круговой интерполяции. И эллиптической нет, а могли бы, алгоритм Брезенхема и для эллипсов применим, только вот если вычисление начальной и конечной точки окружности токарь в столбик еще может осилить, а с инженерным калькулятором вообще не проблема, то вычисления точек эллиптической дуги уже не для человеческого вычислителя.

Добавлено через 2 минуты
Цитата Сообщение от _liv_ Посмотреть сообщение
каким портом - перед глазами схема, когда - как сам решу
Расположение листов на линии прокатки в момент времени n, температура каждого прохода и усилие прокатки листа номер m тоже всегда перед глазами?
0
Эксперт CЭксперт С++
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
25.04.2016, 19:10 43
Так программа ж считает. Зачем туда влазить? Раз настроить и все.
И вообще, в моих нынешних задачах больших вычислений практически нет.
Немного перелопать байты, сформировать информацию для вывода, передача-прием, подергать портами, все просто
Для вычислительных задач все вычисления я бы делал на компьютере, с передачей информации на исполнительное устройство.

Добавлено через 2 минуты
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Расположение листов на линии прокатки в момент времени n, температура каждого прохода и усилие прокатки листа номер m тоже всегда перед глазами?
Fulcrum_013, это должно быть согласовано в протоколе обмена, какие порты подключены к каким датчиках, а порты в схеме, которая перед глазами
0
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
25.04.2016, 19:17 44
Цитата Сообщение от _liv_ Посмотреть сообщение
это должно быть согласовано в протоколе обмена, какие порты подключены к каким датчиках, а порты в схеме, которая перед глазами
Это считают и компы с гораздо более меньшей вычислительной мощностью чем ATMega
0
Эксперт CЭксперт С++
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
25.04.2016, 19:25 45
Fulcrum_013, Все зависит, от того, что надо делать, и сколько есть на это времени.
Задачи бывают разные
0
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
25.04.2016, 20:00 46
Цитата Сообщение от _liv_ Посмотреть сообщение
Для вычислительных задач все вычисления я бы делал на компьютере, с передачей информации на исполнительное устройство
Цитата Сообщение от _liv_ Посмотреть сообщение
это должно быть согласовано в протоколе обмена, какие порты подключены к каким датчиках, а порты в схеме, которая перед глазами
В таком случае быстрее проектировать протокол так, чтобы программа была написана 1 раз, а схема каким портом дернуть по какой команде была бы данными, тогда все эти дела можно делать просто чертя схему.
0
Эксперт CЭксперт С++
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
25.04.2016, 20:14 47
Fulcrum_013, разумеется, схема и программа должны быть согласованы на этапе проектирования, что и как выводить, что и как получать.
На одной плате может быть реализовано множество устройств с разными программами.
Все последующие программы используют то распределение ресурсов, которое заложено.
Правда, иногда приходится добавлять дополнительные ключи, еще что-нибудь... На все случаи жизни не заложишься... И датчики бывают разные. Есть стандартные, с которыми мы работаем всегда, иногда появляются весьма "хитрые". Но ничего, приспосабливаемся... Нет, так недолго и новую плату развести
0
389 / 188 / 47
Регистрация: 11.07.2013
Сообщений: 1,120
26.04.2016, 00:56 48
Господа, хоть и не про Лазарус, но беседа получилась интересной.
Как сторонний наблюдатель поддерживаю доводы скорее Fulcrum_013, чем _liv_, хотя хочу отдать должное уважение пследнему за его преданность асму. Уважаемый _liv_, просто хочется спросить, а не мазохист вы случайно (в хорошем смысле этого слова и прошу не обижаться). Сам начинал в 80-х по журналу "Радио" с Кр580, сначала писал в тетраде на ассемблере, затем переводил вручную в машинные коды, набирал их на самодельном программаторе и т.д. Можно было бы и по сей день так писать, однако, являясь представителем ленивого рода "Homo sapiens", захотелось получать результат с меньшими затратами труда, поэтому отказался от тетради, а asm-коды стал набирать на "Радио-86 МК". И, собственно, так далее - зачем отказываться от прогресса...
К слову так, один мой товарищ (физик-теоретик, д.т.н.) использовал для своих расчётов Турбо-Паскаль. Чёрный экран, командная строка. Долго я "доставал" его и всё-таки "достал" - "пересел" он на Delphi, а через пол года он на нём начал такие чудеса творить...(к стати, в Лазарус я влез "с его подачи"). А второй товарищ - электронщик, для него кроме PIC-ов и ассемблера ничего не существует. А если что-то не получается, то делает такую "умную рожу", что и не возразишь ему (например, АЦП работает нестабильно, ложно срабатывают уставки. Предлагаю: сделай программный фильтр. "Да что ты. На это ещё неделя уйдёт, лучше пускай они линию нормально проложут...") На Си эта задача решается минут за 10 (с учётом времени включения ноутбука и подключения программатора), а на ассемблере у него - неделя. И мужик-то не дурак. Предлагал ему изучить Си, а он свои доводы: код у него компактный, быстрый. А, мне так кажется, что изучил человек когда-то добросовестно свой ассемблер и теперь пытается сам обмануть себя - "надо будет - изучу", "нет задач - не надо учить". Не поддерживаю. Лично я, будучи в начале 2000 г безработным и без всякой дальнейшей перспективы, в возрасте далеко за 40 не постеснялся пойти со школьниками на курсы изучать Си (Изучить его в совершенстве не смог до сих пор и вряд ли хватит на это всей жизни, но стал восстребованным специалистом в саоей области. Считаю, что поступил правильно).
Беспорно, код на ассемблере более компактный и быстрый, но писать его на несколько порядкав сложнее, чем на том же Си. Он не "прощает" ошибок, требует очень высокой квалификации. Если я через год с трудом вспоминаю, что написал на Си и на это уходит дня два-три, то недели две буду вспоминать, что когда-то писал на ассемблере.
И ещё очень важный момента не в пользу ассемблера: нет, допустим, в продаже контроллера данного типа или вообще он снят с производства. Что делать? На ассемблере придётся всё начинать с нуля, а на Си только подправить некоторые функции. Но это ещё пол беды. А представьте, что вы работаете в команде и вдруг заболели, уволились или ещё хуже - вас задавил трамвай. Ваша фирма, полагаю, будет вам очень благодарна... Когда-то мой начальник говорил крылатуя фразу: "Нет незаменимых людей. Просто сейчас их неким заменить".
Дорогой _liv_, если вам так легко даётся писать на ассемблере, то, поверьте, поработав с Си вы поймёте, на сколько вы себя обкрадывали всё это время и сколько вы смогли бы сделать за это время полезного...
Вывод: используйте те программные инструменты, которыми пользуется большинство (во всяком случае, будет к кому обратиться за помощью).
Что касается вопроса Hretgir. Если раньше вы не занимались электроникой и программированием МК, а сроки поджимают, то подключите к своей работе кого-нибудь из знакомых электронщиков, который "знает в этом толк", т.к. не факт, что хорошо написанная программа заработает в "железке", собранной "кривыми руками". Или возьмите за основу микрокомпьютер типа "Raspberry Pi" (есть и другие аналоги), во всяком случае, "железо" собрано качественно, а ПО сами напишете на Лазарусе.

Добавлено через 1 час 20 минут
Хочу ещё дополнить.
Что такое ассемблер, Си, Лазарус и др. Это - инструменты для достижения конкретной цели. Интересная былабы беседа между двумя землекопами: один копал сочковой лопатой, а другой - штыковой. Представляеете этот диспут... Или еще лучше: один сантехник отчерпывает их колодца г.... ведром, а другой отсасывает шлангом (продолжать?). Главное ведь результат, а не вы - копатель, сантехник или разработчик и, тем более, чем вы там пользовались (ведром или шлангом). Вас же не интересует при покупке в магазине того же хлеба, на какой почве и кем был ворощен урожай, а печь, в которой его пекли: была электрическая или газовая.... Максимум вашего интереса - это вкус и, может быть, вес булки хлеба.
Вот интересно, между пекарями хлеба тоже развивается подобная дискуссия: какая печь лучше (на дровах - ассемблер, на газе - Си иди электро - Лазарус).
В прошлый век счётов, логарифмических линеек и калькуляторов как-то было даже стыдно сказать, что я считал на калькуляторе, а не в уме... А сейчас умение пользоваться инструментом даже возводится в какой-то особый ранг - Я ПРОГРАММИСТ. Да это просто обязанность каждого современного инженера. А выбор инструмента (пока нет по этому поводу закона) личное дело каждого.
1
Эксперт CЭксперт С++
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
26.04.2016, 11:06 49
shyub, думаете, я не работал на С? Работал и довольно долго и успешно. Но вернулся на асм. По той простой причине, что на нем быстрее и качественнее. Вот такой парадокс. Я не мазохист, а прагматик, выбираю тот инструмент, который лучше подходит на данный момент, "для достижения конкретной цели"
Перенос кода на другой контроллер AVR делается на раз. Мы используем разнообразные AVR-ки. Это вообще не вопрос. AVR-ки тем и хороши, что они отличаются только набором периферии на борту, да адресами управляющих регистров. Первое учитывается при выборе типа контролера. Второе в мнемонике регистров, т.е. в include-ах
Отличие еще может быть в доступе по in/out или lds/sts, так и это учтено, у меня есть макро, которое автоматом подставляет нужную команду. Все! Поменял include, и код готов!
Заменить кем-то... Это, конечно, пока вопрос открытый Я так далеко не заглядываю вперед. Там видно будет. Но на мой век еще хватит.
Зачем мне идти той дорогой, которой идут все? Спрашивать кого-то? Я и сам могу все сделать... У меня основные справочники - datasheet-ы. Взять полностью готовый С-шный код для какого-то девайса? Так переносится на асм за пару-тройку дней. Уже делал не раз. Естественно, с оптимизацией.

Да, ассемблер предъявляет особые требования к программисту. Далеко не каждому это дано, даже тем, кто на нем работает... Но это как раз по мне. Я по другому и не хочу, предпочитаю все контролировать самому. И мыслю категориями регистр, бит и т.п. Могу тут же выбросить какой-то кусок, тут же переписать его заново! При этом очень быстро и практически без ошибок... (Может это и мазохизм с Вашей точки зрения )

Каждому свое... На данный момент, мой основной инструмент - ассемблер. Не исключаю, что в будущем он поменяется, если будут другие задачи Для компа я пишу на С++, хотя могу и на асме, но здесь это нецелесообразно

PS У меня даже на компе нет антивируса, точнее стоят некоторые другие средства, обеспечивающие минимальную степень защиты. Вычищаю, в случае необходимости, "ручками". Тоже предпочитаю сам все контролировать
Люблю, знаете ли, покопаться в реестре...
0
Эксперт .NET
10563 / 6487 / 1506
Регистрация: 25.05.2015
Сообщений: 19,654
Записей в блоге: 14
26.04.2016, 12:47 50
_liv_, Вы не выбираете, а используте асм всегда.
У нас был такой же специалист, повернутый на асме. После его ухода его проект переделали с нуля на язык C в сроки, на порядок меньшие, чем затратил он.
0
Эксперт CЭксперт С++
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
26.04.2016, 13:07 51
Rius, это именно мой выбор, могу и на С, но не хочу.
И я свой выбор никому не навязую... А просто изложил свой взгляд
0
356 / 124 / 3
Регистрация: 25.01.2012
Сообщений: 5,464
Записей в блоге: 118
26.04.2016, 20:18  [ТС] 52
Вот как я подошёл к проблеме, по поводу линка на программирование кинематики. Тема открыта мной на другом форуме, потому что там есть раздел философии, но парадигму придумал я сам, на второе сообщение в теме без ответов. Тут я не наблюдал раздела философии, поэтому не думаю, что в рамках данного форума как-то реально обсуждать тему.

Парадигма начинается с того, что:
Действия бывают связанные по условию и по задаче.
Вот так замыкается парадигма:
Действия связанные по задаче, являются друг для друга условиями её достижения.
0
389 / 188 / 47
Регистрация: 11.07.2013
Сообщений: 1,120
27.04.2016, 00:22 53
Уважаемый _liv_, я вас услышал. Как говорится в одной умной книге: умеющий уши - да услышит, имеющий глаза - да увидет.
Hretgir, а что вы ещё ожидали? Своё мнение по вашей проблеме я вам сказал дважды. Навязывать своё мнение вам никто не будет. Будут проблемы, обращайтесь.
Один есть хороший анегдот по этому поводу: Наводнение, тонет верующий еврей. Подплывает к нему лодка - садись еврей, спасём. Нет, меня бог спасёт. Тонет дальше. Подплывает плот и т.д. Утонул еврей и попдает к богу: Бог, я тебя всю жизнь любил, молился тебе, а ты меня не спас. Бог отвечает: а кто тебе лодку присылал, кто плот присылал и т.д.
Не будтье таким евреем (ничего не имею к еврейской национальности, просто такой анегдот). Вы, Hretgir, сам решайте, на какой базе делать проект, а когда возникнут проблемы обращайтесь за помощью (если это не ассемблер - шучу).
0
356 / 124 / 3
Регистрация: 25.01.2012
Сообщений: 5,464
Записей в блоге: 118
27.04.2016, 07:49  [ТС] 54
Да я конечно обращусь, сейчас ещё рано просто. А сделать просто хочется все не разово, а основательно, для этого и прорабатывается основа и своя парадигма.
0
0 / 0 / 0
Регистрация: 16.10.2020
Сообщений: 28
21.02.2024, 20:29 55
liv, а какой ассемблер используете?
0
21.02.2024, 20:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.02.2024, 20:29
Помогаю со студенческими работами здесь

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

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

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

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


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

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