Перейти к содержанию

Ассемблер или СИ для микроконтроллеров


Гость Денис

Рекомендуемые сообщения

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Я когда то начинал с ассемблера. Но тогда микроконтроллер (x48) имел 1024 байта ПЗУ и 32 байта ОЗУ. Сейчас самый простенький проц на bluepill плате имеет 64к / 20к... Смысл? Тем более что Си позволяет в десятки раз ускорить написание и отладку...

Ссылка на комментарий
Поделиться на другие сайты

Hongfa для различных применений в Компэл. Большой выбор в наличии!

Компания HONGFA - это не только крупнейший в мире производитель электромеханических реле, но также производитель конденсаторов, вакуумных прерывателей, трансформаторов и низковольтного коммутационного оборудования. На складе КОМПЭЛ регулярно поддерживаются около 100 самых популярных позиций электромеханических реле. Реле Hongfa могут заместить многие изделия производства недоступных брендов. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

33 минуты назад, Гость Денис сказал:

Что лучше, ассемблер или си для микроконтроллеров? 

Можешь попробовать, так для понятия с ассемблера. Купи PIC12F629 и потренеруйся. Там даташит на русском языке есть и набор команд. Светодиод заставь мигать, кнопку подключи. Понятие появится, там уж сам решишь.

Хочешь накормить человека один раз — дай ему рыбу. Хочешь накормить его на всю жизнь — научи его рыбачить.

Ссылка на комментарий
Поделиться на другие сайты

Тренды и лучшие решения для разработки зарядных станций в России

К 2029 году в России прогнозируется увеличение числа зарядных станций до 40 000. При этом отечественный рынок электротранспорта имеет климатические, потребительские и географические особенности. Для успешной разработки и построения инфраструктуры станций заряда в России идеальным вариантом является использование решений и электронных компонентов китайских производителей – лидеров индустрии электротранспорта и возобновляемой энергетики, которые уже представлены в КОМПЭЛ. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

С изучения его структуры.

Ассемблер тяжеловат в написании программ. Си попроще. Есть ещё куча других.

Ассемблер легче для выполнения программ.
Языки высокого уровня проще для написания программ. Но не обладают оптимальностью.
Тем не менее, языки высокого уровня позволяют гораздо быстрее создавать программы.

С учетом, что современные микроконтроллеры имеют огромный запас по вычислительной мощности, можете начинать на Си,
Если нужны вычисления, к примеру, в военке, изучайте ассемблер.


 

Ссылка на комментарий
Поделиться на другие сайты

Секреты депассивации литиевых батареек FANSO EVE Energy

Самыми лучшими параметрами по энергоемкости, сроку хранения, температурному диапазону и номинальному напряжению обладают батарейки литий-тионилхлоридной электрохимической системы. Но при длительном хранении происходит процесс пассивации. Разберем в чем плюсы и минусы, как можно ее избежать или уменьшить последствия и как проводить депассивацию батареек на примере продукции и рекомендаций компании FANSO EVE Energy. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Зависит от ваших целей, если брать например avr контроллеры, то для ATTINY2313 (ибо у него мало памяти и на си там просто не развернуться) лучше ассемблер, а для ATMEGA128 (ибо у него много памяти и на ассемблере вы просто запутаетесь в программе) лучше си. На ассемблере программы получаются меньшего размера и более быстродействующие, на си проще и быстрее писать программы, особенно большого размера. 

Ссылка на комментарий
Поделиться на другие сайты

Конечно лучше с Ассемблер,

Но это долго,

Можно и с Си начать (универсальный язык),

это сейчас проще, походу изучения возможно 

и в Ассемблер придётся опускаться.

Лично я начинал с Ассемблера,

после, Си сдался легко.

Изменено пользователем URI75
Неправильно написал
Ссылка на комментарий
Поделиться на другие сайты

если вы не программист, то Ассемблер может оказаться на порядок сложнее чем Си. Полистайте книги по обоим языкам, что начнёт впитываться легче, с того и начинать. а другим потом дополнить. И Ассемблер это машинозависимый язык, нужно знать архитектуру процессора и учитывать её при написании программы, в случае Си легче писать под разные МК- в голове будет алгоритм и никаких регистров.

Ссылка на комментарий
Поделиться на другие сайты

С Си в Ассемблер сложнее опускаться, чем подняться в обратном направлении. Если хочется изучить МК досконально (именно изучить), то Ассемблер лучший помощник. Если хочется побыстрее научиться клепать мелкие программки, то Си однозначно. Но... не появился бы из Вас очередной Ардуинщик.

Насчет легкости написания вопрос неоднозначный. Программируя некоторое время на Ассемблере перестаешь замечать "страшилки" типа сложный, старье, тяжелый. Все познается и опыт приобретается.

А вот писАть программы, не зная архитектуры МК, лучше не начинать.

Изменено пользователем Геннадий
Ссылка на комментарий
Поделиться на другие сайты

это как иностранцу объяснять чего ты хочешь от него   

можно использовать переводчика(Си) как переведет то и будет

либо выучить язык (Ассемблер) 

 

Ссылка на комментарий
Поделиться на другие сайты

22 часа назад, Alex Ferrum сказал:

На ассемблере программы получаются меньшего размера

Вы хотели сказать большего размера? Ибо вместо delay(1000) на си, на ассемблере придется писать строчек 10

Ссылка на комментарий
Поделиться на другие сайты

В данном случае под понятием "меньшего размера" (так оно и есть!) имеется ввиду что программа в памяти микроконтроллера контроллера займет меньше памяти,а то что вы видите на экране монитора это листинг программы,листинг может быть и больше,по разному

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Delfin сказал:

Вы хотели сказать большего размера? Ибо вместо delay(1000) на си, на ассемблере придется писать строчек 10

Я хотел сказать, что после компиляции одной и той же программы (вернее двух программ выполняющих одни и те же функции но написанных на разных языках), написанной на си и на ассемблере, программа на ассемблере занимает как правило меньше места в памяти микроконтроллера. На эту тему привёл пример с ATTINY2313 у которой памяти относительно других avr контроллеров не так много, поэтому для этого микроконтроллера оптимальнее писать программы на ассемблере. 

Ссылка на комментарий
Поделиться на другие сайты

39 минут назад, Гость Денис сказал:

А что плохого в ардуино?

Вы хотели научиться программировать МК. С абдуриной Ваш потолок будет на уровне поиска/скачивания кривых библиотек и копирование чужого кода (мигалки, пукалки, пищалки). Что серьезней - будете искать решения тут, на форуме. От схемы и до листинга. Абдурина лишает собственного мышления, т.к. подсовывает много готового... "дерьмеца" низкого качества.

Ссылка на комментарий
Поделиться на другие сайты

31 минуту назад, Геннадий сказал:

от уровня подготовки программиста

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

Ссылка на комментарий
Поделиться на другие сайты

Чтобы уметь, надо пройти эту "школу" всю, с первого класса. А не как в Ардуино, поступить сразу в шестой и начать писАть сочинения, не видя Азбуки и не рисовавши палочки в тетради.

Ссылка на комментарий
Поделиться на другие сайты

Зависит от целей. Если просто один раз в жизни собрать устройство, то проще вообще ничего не изучать, а заказать разработку. Ну или взять ардуину.

Если же именно научиться работать с контроллерами, то начинать однозначно с ассемблера.

Какой именно контроллер вы хотите освоить? Проще всего, конечно, AVR или PIC, но они устаревают. Можно наоборот, из того, что входит в моду, RISC-V. Если интересно, по такому контроллеру (gd32vf103) у меня есть целый курс начиная как раз с ассемблера и до Си, включая примитивную самодельную операционку.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

4 часа назад, COKPOWEHEU сказал:

...по такому контроллеру (gd32vf103) у меня есть целый курс начиная как раз с ассемблера и до Си, включая примитивную самодельную операционку.

Поделитесь?

Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, Геннадий сказал:

Поделитесь?

https://karakatitsariscv.github.io/

Курс экспериментальный, еще ни на ком его не проверял, поэтому буду раз конструктивной критике.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

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

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • При взгляде на АЧХ этого динамика  должно быть понятно, почему у него перебор по СЧ. Как в прочем и то, почему +3дБ в TQWP в полосе 70...150-180Гц идут ему на пользу. Чего, кстати, в ЗЯ, получить практически не возможно.
    • Без понятия как оно со встроенным звуком уживется, утилита настройки этого сраного реалтека полный шлак современная версия.                Именно креативу дисконтную что то жаба душит пока.         Блок питания в человеческом виде для самодельного 2.1 усилка не знаю когда выйдет собрать. Вот и думаю, а не плюнуть ли на это дело. 
    • Особенно извращенный причём. Был бы с лапками, то ценник условно приемлем. 
    • @Aknod , "11 лет спустя..."(с) Самого это не смущает?  
    • А чем прямой способ не подходит? Я не был уверен что там будет какая-то адекватная зависимость но все что угодно в определенных пределах и с определенной погрешностью можно описать какой угодно функцией. Зависимость оказалась линейной - ну ок, взял формулу и пользуюсь. Ну оно будет равно произведению тока на номинал этого резистора, ток я где возьму? Измерю? А если там мизерная величина какая будет погрешность? А чтоб я знал что там стоит на цифровых выходах Arduino UNO с поддержкой PWM. Как-то преобразуется, иначе на мультиметре оно бы прыгало. Лишний конденсатор ставить туда явно не стоит - это даст значительную задержку между последовательными измерениями. У меня и так 20 секунд на измерение всего интервала от 0 до 255 уходит в основном из-за записи на карту памяти построчно, а тут еще будут паузы чтобы напряжения установились. Мне это и нужно было, резистивная нагрузка через которую проходит ток разных значений. Делитель тут действительно не получится.
    • И не найдёшь. По какому этому? А может быть по тому.  Зачем, что бы сеять на нём дикую мощность до тех пор, пока не выстрелит? ШИМ в помощь; и полевик не выстрелит, и возможность реализации плавного нарастания тока. Но это уже совсем не пассивная зарядка.
    • Без применения DC-DC зарядки. Просто напрямую включать не рекомендуется, потому что в зависимости от толщины проводов и состояния ячеек аккума, может попереть ток аж 100А и выше, что печально для автомобиля и аккумулятора. По этому кажется, что нужно ограничить ток слегка подзакрытым полевым транзистором. Так же хочется иметь плавное нарастание тока при включении и выход на 25А, что составляет 0.5С от моего 50тыс. lifepo аккума. Странно, но никаких схем именно такой пассивной зарядки я не нашел. Когда речь идет о зарядки lifepo от машины, то все предлагают покупать dc-dc за 10 тыс.руб с али, что кажется шизой, ведь этот dcdc по факту будет преобразовывать 14В в 14В.
×
×
  • Создать...