С чего начать программировать микроконтроллеры?
Re: С чего начать программировать микроконтроллеры?
Это оно да?
https://www.microchip.com/en-us/develop ... 28pb-xmini
Так а что такое аппаратный отладчик не пойму. Программный дебаггер понятно, в коде ошибки ищет.
А аппаратный дебаггер на борту что это такое? Светодиодами при ошибках моргает или что?
Ещё раз https://www.youtube.com/watch?v=2MQVKHMn7vw
Многие переходят уже на С++ при программировании МК, так как возможности МК повышаются.
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: С чего начать программировать микроконтроллеры?
аппаратный отладчик - шпиён, позволяющий отслеживать и изменять состояние реального контроллера во время работы по специально выделенной шине.
программный отладчик - это модель контроллера, все вычисления выполняются на компьютере (контроллер не нужен) входы/выходы либо подключаются к виртуальной схеме, либо их состояние задаётся/отслеживается на специальной панели...
С++ контроллеру ничего не даёт и возможностей его не повышает, но упрощает написание сложных программ (т.е. он нужен не компьютеру, а программисту)
программный отладчик - это модель контроллера, все вычисления выполняются на компьютере (контроллер не нужен) входы/выходы либо подключаются к виртуальной схеме, либо их состояние задаётся/отслеживается на специальной панели...
С++ контроллеру ничего не даёт и возможностей его не повышает, но упрощает написание сложных программ (т.е. он нужен не компьютеру, а программисту)
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Re: С чего начать программировать микроконтроллеры?
[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=4075192#p4075192"]С++ контроллеру ничего не даёт и возможностей его не повышает, но упрощает написание сложных программ (т.е. он нужен не компьютеру, а программисту)[/uquote]
Я имел в виду что С++ больше весит наверное чем С. Но современные МК это могут осилить.
Конечно мне хочется как проще и современнее.
Но parovoZZ писал что SDK на С++ для МК нет.
Я имел в виду что С++ больше весит наверное чем С. Но современные МК это могут осилить.
Конечно мне хочется как проще и современнее.
Но parovoZZ писал что SDK на С++ для МК нет.
- Ivanoff-iv
- Друг Кота
- Сообщения: 7077
- Зарегистрирован: Пт ноя 11, 2016 05:48:09
- Откуда: Сердце Пармы
Re: С чего начать программировать микроконтроллеры?
всё зависит от того, что ты хочешь делать контроллером...
если реализуешь простую логику (мк-тини13, 2313 и подобные), то можно до ассемблера спуститься (рекомендую АлгоритмБилдер) как более простой в освоении инструмент (по отношению к ассемблеру) - очень поможет понять как работает МК.
Если задача посложнее и по сложности в тини не влезет, но в аккурат для небольших мег - используй С, (я пишу в кодевижене - у него есть свои плюсы, но рекомендовать я его не могу т.к. есть и минусы, которые перетягивают всё сильнее и неожиданнее
) сначала хотел перейти на "студию", но теперь думаю, что приближаться к плюсам буду уже на СТМ32... (того что сейчас умею - для для решения имеющихся под АВР задач мне достаточно).
для более сложных задач (работа с разнообразной периферией, графическими дисплеями) наверно лучше подойдёт С++, т.к. код получается стройнее, и хоть результирующая прошивка получается объёмней, но применяемые в этом случае более мощные МК её потянут. (пример - Марлин (прошивка для 3д принтера) написан на С++ в среде ардуино...)
на С++ может стоит посмотреть в сторону PlatformIO (сам я с ней не работал)...
ПС: деления условные, знаю людей, работающих с ЖК экранами из под ассемблера...
ПС2: за видос спасибо - какраз сейчас смотрю.
если реализуешь простую логику (мк-тини13, 2313 и подобные), то можно до ассемблера спуститься (рекомендую АлгоритмБилдер) как более простой в освоении инструмент (по отношению к ассемблеру) - очень поможет понять как работает МК.
Если задача посложнее и по сложности в тини не влезет, но в аккурат для небольших мег - используй С, (я пишу в кодевижене - у него есть свои плюсы, но рекомендовать я его не могу т.к. есть и минусы, которые перетягивают всё сильнее и неожиданнее
для более сложных задач (работа с разнообразной периферией, графическими дисплеями) наверно лучше подойдёт С++, т.к. код получается стройнее, и хоть результирующая прошивка получается объёмней, но применяемые в этом случае более мощные МК её потянут. (пример - Марлин (прошивка для 3д принтера) написан на С++ в среде ардуино...)
на С++ может стоит посмотреть в сторону PlatformIO (сам я с ней не работал)...
ПС: деления условные, знаю людей, работающих с ЖК экранами из под ассемблера...
ПС2: за видос спасибо - какраз сейчас смотрю.
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Re: С чего начать программировать микроконтроллеры?
[uquote="koeltrad",url="/forum/viewtopic.php?p=4075187#p4075187"]Программный дебаггер понятно, в коде ошибки ищет.[/uquote]
Ошибки в коде ищут тестировщики. Универсальные программные средства, которые бы искали ошибки в коде, мне не известны. Но есть стандарты написания кода, которые призваны минимизировать вероятность появления таких ошибок. Самый известный это MISRA.
Ошибки в коде ищут тестировщики. Универсальные программные средства, которые бы искали ошибки в коде, мне не известны. Но есть стандарты написания кода, которые призваны минимизировать вероятность появления таких ошибок. Самый известный это MISRA.
никогда не понимал людей, которые на основании мнения одного единстенного индивидуума делают выводы по всей отрасли.Многие переходят
Re: С чего начать программировать микроконтроллеры?
Я пытаюсь смотреть в будущее. Потому что не только лишь все могут это делать, вернее смотреть могут, но не все могут это делать(С)
Ассемблер компактнее С, но сейчас уже мало кто на нём программирует, видимо дело не в компактоности.
Добавлено 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
Ассемблер компактнее С, но сейчас уже мало кто на нём программирует, видимо дело не в компактоности.
Добавлено 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: С чего начать программировать микроконтроллеры?
Если только начинаешь работать с МК - начинай с простых задач.
Если хочешь хорошо понимать что происходит у МК внутри - нужно поработать и с языком низкого уровня.
по крайней мере если код на ЯВУ заработает не так, как ожидаешь - то всегда сможешь глянуть АСМ листинг проблемного куска...
Если хочешь хорошо понимать что происходит у МК внутри - нужно поработать и с языком низкого уровня.
по крайней мере если код на ЯВУ заработает не так, как ожидаешь - то всегда сможешь глянуть АСМ листинг проблемного куска...
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Re: С чего начать программировать микроконтроллеры?
[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 писал.
Это https://www.youtube.com/watch?v=UthOiIxp2mY называется AVR XMEGA-A1
Re: С чего начать программировать микроконтроллеры?
Нет, ATXMega - совершенно другая линейка.
Прежде, чем смотереть в будущее, необходимо изучить элементарные вещи.
Прежде, чем смотереть в будущее, необходимо изучить элементарные вещи.
Re: С чего начать программировать микроконтроллеры?
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
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
Re: С чего начать программировать микроконтроллеры?
Прежде, чем задавать вопросы подойдёт/не подойдёт, я бы начал с изучения литературы по теме.
На том же ютубе можно поискать лекции Артамонова ну или других авторов. Только именно лекции (или записи конференций), а не тупых дуринщиков, которые сами не вывозят предмет.
На том же ютубе можно поискать лекции Артамонова ну или других авторов. Только именно лекции (или записи конференций), а не тупых дуринщиков, которые сами не вывозят предмет.
Re: С чего начать программировать микроконтроллеры?
Основные основы я знаю. Я давным давно на ява скрипте что то писал, но забросил быстро.
Re: С чего начать программировать микроконтроллеры?
Я про устройство микроконтроллеров и микропроцессоров. Цель-то, ещё раз повторюсь, какая?
- КРАМ
- Друг Кота
- Сообщения: 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), но НЕ В РЕАЛЬНОМ ВРЕМЕНИ. Скорость сканирования данных аппаратным отладчиком в МК очень низкая по сравнению с исполнением кода, но медленно изменяющиеся переменные можно достаточно комфортно наблюдать.
Аппаратный дебаггер состоит из ТРЕХ частей.
1. Блок отладки в чипе. Его задача осуществлять управление исполнением кода (старт, стоп, стоп по breakpoint-ам и сканирование памяти), а так же ввод/вывод по интерфейсу отладки (ICSP, SWD, JTAG).
2. Внешний инструмент отладки. Это по сути продвинутый программатор, который способен прошивать МК, а так же пробрасывать данные между софтом на ПК и блоком отладки в чипе.
3. Софт поддерживающий отладку через программатор-отладчик подключенный к МК. Это IDE - интегрированная среда разработки. Обеспечивает визуализацию работы МК, а так же управление процессом. Позволяет видеть содержимое регистров ядра, регистров периферии, ОЗУ и флеша, наблюдать за пошаговым исполнением в исходном программном коде и т.д.. В зависимости от архитектуры МК это возможно в процессе исполнения кода (через SWD и JTAG), но НЕ В РЕАЛЬНОМ ВРЕМЕНИ. Скорость сканирования данных аппаратным отладчиком в МК очень низкая по сравнению с исполнением кода, но медленно изменяющиеся переменные можно достаточно комфортно наблюдать.
Re: С чего начать программировать микроконтроллеры?
Артамонов говорит что самые перспективные это Cortex-M.
STM32 кажется принадлежит к Cortex-M4 группе.
STM32 кажется принадлежит к Cortex-M4 группе.
Re: С чего начать программировать микроконтроллеры?
Там разные есть. Семейство большое, от солидных дядечек до мелкотни.
И хрюкотали зелюки,
Как мюмзики в мове.
На каждый РКН
Найдётся VPN.
Как мюмзики в мове.
На каждый РКН
Найдётся VPN.
Re: С чего начать программировать микроконтроллеры?
Есть нормальные сборки на cortex? С множеством функций, программатором и что ещё там надо.
Добавлено after 2 minutes 1 second:
cortex заметно дороже arm, печалька.
Добавлено 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]
Это как сказать, что брюки дороже одежды.
Кортекс - это и есть АРМ. Точнее одно из его семейств.
И нынешние цены на ЛЮБЫЕ МИКРОСХЕМЫ не отражают реальных цен в "мирное" время.
Сначала определитесь С КЛАССОМ РЕШАЕМЫХ ЗАДАЧ. Нет универсальных контроллеров на все случаи жизни.
Это как сказать, что брюки дороже одежды.
Кортекс - это и есть АРМ. Точнее одно из его семейств.
И нынешние цены на ЛЮБЫЕ МИКРОСХЕМЫ не отражают реальных цен в "мирное" время.
Сначала определитесь С КЛАССОМ РЕШАЕМЫХ ЗАДАЧ. Нет универсальных контроллеров на все случаи жизни.
Re: С чего начать программировать микроконтроллеры?
Так что мне надо то. Научиться всему наверное.
- КРАМ
- Друг Кота
- Сообщения: 25154
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: С чего начать программировать микроконтроллеры?
[uquote="koeltrad",url="/forum/viewtopic.php?p=4075356#p4075356"]Научиться всему[/uquote]
Очень странная постановка задачи для человека ранее не имевшего дело с контроллерами.
Контроллер - это всего лишь микросхема. И как любая микросхема предназначена для реализации широкого класса задач электроники.
Определитесь с задачами - будет понятен выбор платформ.
Одно дело - управление двигателем, совершенно другое - обработка изображений, совершенно другое - IoT...
Может ваш уровень - контроллер управления УНЧ. А может вы желаете сделать софтовый радиочастотный приемник (SDR). А может вам нужна всего лишь мигалка на йолку...

Очень странная постановка задачи для человека ранее не имевшего дело с контроллерами.
Контроллер - это всего лишь микросхема. И как любая микросхема предназначена для реализации широкого класса задач электроники.
Определитесь с задачами - будет понятен выбор платформ.
Одно дело - управление двигателем, совершенно другое - обработка изображений, совершенно другое - IoT...
Может ваш уровень - контроллер управления УНЧ. А может вы желаете сделать софтовый радиочастотный приемник (SDR). А может вам нужна всего лишь мигалка на йолку...