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

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
koeltrad
Потрогал лапой паяльник
Сообщения: 317
Зарегистрирован: Ср дек 09, 2020 18:38:07

Re: С чего начать программировать микроконтроллеры?

Сообщение koeltrad »

Это оно да?
https://www.microchip.com/en-us/develop ... 28pb-xmini
Так а что такое аппаратный отладчик не пойму. Программный дебаггер понятно, в коде ошибки ищет.
А аппаратный дебаггер на борту что это такое? Светодиодами при ошибках моргает или что?

Ещё раз https://www.youtube.com/watch?v=2MQVKHMn7vw
Многие переходят уже на С++ при программировании МК, так как возможности МК повышаются.
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Re: С чего начать программировать микроконтроллеры?

Сообщение Ivanoff-iv »

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

С++ контроллеру ничего не даёт и возможностей его не повышает, но упрощает написание сложных программ (т.е. он нужен не компьютеру, а программисту)
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
koeltrad
Потрогал лапой паяльник
Сообщения: 317
Зарегистрирован: Ср дек 09, 2020 18:38:07

Re: С чего начать программировать микроконтроллеры?

Сообщение koeltrad »

[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=4075192#p4075192"]С++ контроллеру ничего не даёт и возможностей его не повышает, но упрощает написание сложных программ (т.е. он нужен не компьютеру, а программисту)[/uquote]
Я имел в виду что С++ больше весит наверное чем С. Но современные МК это могут осилить.
Конечно мне хочется как проще и современнее.
Но parovoZZ писал что SDK на С++ для МК нет.
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Re: С чего начать программировать микроконтроллеры?

Сообщение Ivanoff-iv »

всё зависит от того, что ты хочешь делать контроллером...

если реализуешь простую логику (мк-тини13, 2313 и подобные), то можно до ассемблера спуститься (рекомендую АлгоритмБилдер) как более простой в освоении инструмент (по отношению к ассемблеру) - очень поможет понять как работает МК.

Если задача посложнее и по сложности в тини не влезет, но в аккурат для небольших мег - используй С, (я пишу в кодевижене - у него есть свои плюсы, но рекомендовать я его не могу т.к. есть и минусы, которые перетягивают всё сильнее и неожиданнее :shock: ) сначала хотел перейти на "студию", но теперь думаю, что приближаться к плюсам буду уже на СТМ32... (того что сейчас умею - для для решения имеющихся под АВР задач мне достаточно).

для более сложных задач (работа с разнообразной периферией, графическими дисплеями) наверно лучше подойдёт С++, т.к. код получается стройнее, и хоть результирующая прошивка получается объёмней, но применяемые в этом случае более мощные МК её потянут. (пример - Марлин (прошивка для 3д принтера) написан на С++ в среде ардуино...)
на С++ может стоит посмотреть в сторону PlatformIO (сам я с ней не работал)...

ПС: деления условные, знаю людей, работающих с ЖК экранами из под ассемблера...
ПС2: за видос спасибо - какраз сейчас смотрю.
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
parovoZZ
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

Re: С чего начать программировать микроконтроллеры?

Сообщение parovoZZ »

[uquote="koeltrad",url="/forum/viewtopic.php?p=4075187#p4075187"]Программный дебаггер понятно, в коде ошибки ищет.[/uquote]
Ошибки в коде ищут тестировщики. Универсальные программные средства, которые бы искали ошибки в коде, мне не известны. Но есть стандарты написания кода, которые призваны минимизировать вероятность появления таких ошибок. Самый известный это MISRA.
Многие переходят
никогда не понимал людей, которые на основании мнения одного единстенного индивидуума делают выводы по всей отрасли.
koeltrad
Потрогал лапой паяльник
Сообщения: 317
Зарегистрирован: Ср дек 09, 2020 18:38:07

Re: С чего начать программировать микроконтроллеры?

Сообщение koeltrad »

Я пытаюсь смотреть в будущее. Потому что не только лишь все могут это делать, вернее смотреть могут, но не все могут это делать(С)
Ассемблер компактнее С, но сейчас уже мало кто на нём программирует, видимо дело не в компактоности.

Добавлено after 3 minutes 8 seconds:
Этот имели в виду, который с сенсорами на борту? https://www.digikey.com/en/products/det ... LD/2770519
Хотя я только дисплей вижу там.
Может внешние сенсоры подключаются.

Добавлено after 19 minutes 57 seconds:
Это самый навороченный наверное?
Хотя 2011 гор, навряд ли.
https://youtu.be/sHC_-knCpqc
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Re: С чего начать программировать микроконтроллеры?

Сообщение Ivanoff-iv »

Если только начинаешь работать с МК - начинай с простых задач.
Если хочешь хорошо понимать что происходит у МК внутри - нужно поработать и с языком низкого уровня.
по крайней мере если код на ЯВУ заработает не так, как ожидаешь - то всегда сможешь глянуть АСМ листинг проблемного куска...
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
koeltrad
Потрогал лапой паяльник
Сообщения: 317
Зарегистрирован: Ср дек 09, 2020 18:38:07

Re: С чего начать программировать микроконтроллеры?

Сообщение koeltrad »

[uquote="parovoZZ",url="/forum/viewtopic.php?p=4075108#p4075108"]Можно начать изучение AVR 1-серии. Они гораздо интереснее (хотя бы из-за того, что ОЗУ, флеш, EEPROM находятся в едином адресном пространстве), но литературы по ним очень мало.[/uquote]
А, это как раз про что parovoZZ писал.
Это https://www.youtube.com/watch?v=UthOiIxp2mY называется AVR XMEGA-A1
parovoZZ
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

Re: С чего начать программировать микроконтроллеры?

Сообщение parovoZZ »

Нет, ATXMega - совершенно другая линейка.
Прежде, чем смотереть в будущее, необходимо изучить элементарные вещи.
koeltrad
Потрогал лапой паяльник
Сообщения: 317
Зарегистрирован: Ср дек 09, 2020 18:38:07

Re: С чего начать программировать микроконтроллеры?

Сообщение koeltrad »

ATXMega мне не подойдёт? Там всё вроде бы есть что нужно.
https://www.youtube.com/watch?v=EJ-6T3Kugt8

Добавлено after 4 minutes 42 seconds:
https://aliexpress.ru/item/400010178234 ... 0266231985

Добавлено after 8 minutes 33 seconds:
Здесь тоже язык С использует? https://youtu.be/UwI9OkNNen0
parovoZZ
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

Re: С чего начать программировать микроконтроллеры?

Сообщение parovoZZ »

Прежде, чем задавать вопросы подойдёт/не подойдёт, я бы начал с изучения литературы по теме.
На том же ютубе можно поискать лекции Артамонова ну или других авторов. Только именно лекции (или записи конференций), а не тупых дуринщиков, которые сами не вывозят предмет.
koeltrad
Потрогал лапой паяльник
Сообщения: 317
Зарегистрирован: Ср дек 09, 2020 18:38:07

Re: С чего начать программировать микроконтроллеры?

Сообщение koeltrad »

Основные основы я знаю. Я давным давно на ява скрипте что то писал, но забросил быстро.
parovoZZ
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

Re: С чего начать программировать микроконтроллеры?

Сообщение parovoZZ »

Я про устройство микроконтроллеров и микропроцессоров. Цель-то, ещё раз повторюсь, какая?
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25154
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: С чего начать программировать микроконтроллеры?

Сообщение КРАМ »

[uquote="koeltrad",url="/forum/viewtopic.php?p=4075187#p4075187"]Так а что такое аппаратный отладчик не пойму.[/uquote]
Аппаратный дебаггер состоит из ТРЕХ частей.
1. Блок отладки в чипе. Его задача осуществлять управление исполнением кода (старт, стоп, стоп по breakpoint-ам и сканирование памяти), а так же ввод/вывод по интерфейсу отладки (ICSP, SWD, JTAG).
2. Внешний инструмент отладки. Это по сути продвинутый программатор, который способен прошивать МК, а так же пробрасывать данные между софтом на ПК и блоком отладки в чипе.
3. Софт поддерживающий отладку через программатор-отладчик подключенный к МК. Это IDE - интегрированная среда разработки. Обеспечивает визуализацию работы МК, а так же управление процессом. Позволяет видеть содержимое регистров ядра, регистров периферии, ОЗУ и флеша, наблюдать за пошаговым исполнением в исходном программном коде и т.д.. В зависимости от архитектуры МК это возможно в процессе исполнения кода (через SWD и JTAG), но НЕ В РЕАЛЬНОМ ВРЕМЕНИ. Скорость сканирования данных аппаратным отладчиком в МК очень низкая по сравнению с исполнением кода, но медленно изменяющиеся переменные можно достаточно комфортно наблюдать.
koeltrad
Потрогал лапой паяльник
Сообщения: 317
Зарегистрирован: Ср дек 09, 2020 18:38:07

Re: С чего начать программировать микроконтроллеры?

Сообщение koeltrad »

Артамонов говорит что самые перспективные это Cortex-M.
STM32 кажется принадлежит к Cortex-M4 группе.
Аватара пользователя
mickbell
Друг Кота
Сообщения: 16377
Зарегистрирован: Пт мар 30, 2012 05:17:29
Откуда: Екатеринбург

Re: С чего начать программировать микроконтроллеры?

Сообщение mickbell »

Там разные есть. Семейство большое, от солидных дядечек до мелкотни.
И хрюкотали зелюки,
Как мюмзики в мове.

На каждый РКН
Найдётся VPN.
koeltrad
Потрогал лапой паяльник
Сообщения: 317
Зарегистрирован: Ср дек 09, 2020 18:38:07

Re: С чего начать программировать микроконтроллеры?

Сообщение koeltrad »

Есть нормальные сборки на cortex? С множеством функций, программатором и что ещё там надо.

Добавлено after 2 minutes 1 second:
cortex заметно дороже arm, печалька.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25154
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: С чего начать программировать микроконтроллеры?

Сообщение КРАМ »

[uquote="koeltrad",url="/forum/viewtopic.php?p=4075343#p4075343"]cortex заметно дороже arm, печалька.[/uquote]
Это как сказать, что брюки дороже одежды. :)))
Кортекс - это и есть АРМ. Точнее одно из его семейств.
И нынешние цены на ЛЮБЫЕ МИКРОСХЕМЫ не отражают реальных цен в "мирное" время.
Сначала определитесь С КЛАССОМ РЕШАЕМЫХ ЗАДАЧ. Нет универсальных контроллеров на все случаи жизни.
koeltrad
Потрогал лапой паяльник
Сообщения: 317
Зарегистрирован: Ср дек 09, 2020 18:38:07

Re: С чего начать программировать микроконтроллеры?

Сообщение koeltrad »

Так что мне надо то. Научиться всему наверное.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25154
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: С чего начать программировать микроконтроллеры?

Сообщение КРАМ »

[uquote="koeltrad",url="/forum/viewtopic.php?p=4075356#p4075356"]Научиться всему[/uquote]
Очень странная постановка задачи для человека ранее не имевшего дело с контроллерами.
Контроллер - это всего лишь микросхема. И как любая микросхема предназначена для реализации широкого класса задач электроники.
Определитесь с задачами - будет понятен выбор платформ.
Одно дело - управление двигателем, совершенно другое - обработка изображений, совершенно другое - IoT...
Может ваш уровень - контроллер управления УНЧ. А может вы желаете сделать софтовый радиочастотный приемник (SDR). А может вам нужна всего лишь мигалка на йолку... :))) :tea:
Ответить

Вернуться в «Теория»