Привет, я хочу программировать микроконтроллеры, но я действительно не знаю, как это сделать и что мне нужно сделать. Я понятия не имею, где искать хотя бы ту информацию, которая мне нужна. Я программирую на python уже около 11 месяцев и знаю, как правильно использовать язык. Я использовал c ++ в прошлом, и я знаю довольно много этого языка.
При программировании микроконтроллеров можно ли программировать микроконтроллер на любом языке кодирования или микроконтроллеры разрешают использовать только определенные языки?
У меня бесконечное количество вопросов, но я не собираюсь задавать их все, если кто-то может указать мне правильное направление, я был бы очень благодарен. Благодарю.
Проблема со словом «запрограммировано». Микропроцессоры (вы имеете в виду процессоры, верно?) Обычно выполняются машинные коды которые являются специфическими для их аппаратные средства Платформа. Машинные коды — это просто байты, считываемые из памяти и интерпретируемые особым образом. Это самый низкий возможный уровень, на котором можно программировать процессоры (и однажды они были запрограммированы таким образом).
Теперь, поскольку программирование процессоров очень неудобно, были изобретены так называемые «языки ассемблера». По сути, они просто определяют символические представления для машинных кодов и наборов правил их интерпретации. Затем специальная программа, называемая переводчиком, берет набор текстовых файлов, содержащих определение программы, написанной на языке ассемблера, и производит что-то который содержит машинные коды и может быть выполнен целевым процессором. (Определение этого «чего-то» сложно, и давайте не будем отступать.)
Теперь есть еще один уровень выше — такие языки, как C
(и, в меньшей степени, C++
) которые пытаются абстрагироваться от деталей конкретной аппаратной платформы и позволяют сосредоточиться на алгоритмы и форматы данных, а не иметь дело с конкретным процессором. Очевидно, что это перемещает знание конкретной платформы H / W в компилятор — программа, которая берет текст вашей программы, написанный на языке высокого уровня, и производит что-то, запускаемое целевым процессором.
Теперь есть еще один уровень выше, который включает языки, которые почти полностью отвлекают вас от каких-либо особенностей платформы H / W. JavaScript, который запускается в вашем браузере при чтении переполнения стека, является хорошим примером — программы в нем по-прежнему выполняются процессором устройства, на котором работает ваш браузер, но между этими сценариями JS и процессором существует много сложных слоев кода.
К настоящему времени вы должны увидеть, что нет окончательного ответа на ваш вопрос. Если вы хотите побаловать себя низкоуровневым кодом для процессора на своем домашнем компьютере, тогда выберите Google x86 для ассемблера, сборщика Intel и т. Д. это хорошее начало Если вы хотите запрограммировать какой-либо другой процессор, используемый поисковый запрос будет аналогичным. Если вместо этого вы хотите запрограммировать какой-то специализированный процессор, такой как AVR затем начните с руководств по продукту, поскольку они обычно поставляются со специальными инструментами.
если вы заинтересованы в том, чтобы освоиться с базовыми практическими задачами, как вы сказали «хотели бы сделать что-то базовое для начала, например, сделать светодиодную вспышку и т. д.»
выберите базовый микроконтроллер, скажем, из семейства 8051 мы возьмем 89c51 (NXP / Atmel зависят от доступности). Сначала просмотрите руководство пользователя, оно даст вам краткое представление (общая архитектура) об этом.
Что касается программирования, вы найдете основной код для светодиодной вспышки только в руководстве (скорее всего).
если вы используете микроконтроллер NXP, то Flashmagic Программное обеспечение свободно доступно в Интернете, вы можете скачать его.
В тебе IDE (вроде keil) не забудь создать.наговор msgstr «файл после того, как вы закончили с вашим кодированием.
Теперь откройте Flashmagic и загрузите .наговор файл в нем и запишите ваш микроконтроллер для конкретного кода, который вы написали.
Удачи!!