Использование Arduino для изучения встроенного программирования на C

c

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

Я не уверен, правда ли это, можно ли запрограммировать Arduino на C без использования C++ и других включенных библиотек классов? Я бы предпочел научиться программировать на довольно низком уровне и не полагаться на библиотеки, скрывающие детали базового оборудования. Можно ли использовать Arduino в качестве общей платформы разработки AVR/микроконтроллеров для изучения встроенного программирования на языке C?

, 👍1


1 ответ


2

[Не уверен, кто слушает, так как этот вопрос был задан 4-летней давности кем-то, у кого, похоже, больше нет здесь аккаунта, но... ]

... можно ли запрограммировать Arduino на C? без использования C++ и других включенных библиотек классов?

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

Может ли Arduino можно использовать в качестве общей разработки AVR/микроконтроллера. платформу для изучения встроенного программирования на C?

Да, по причинам, указанным выше, и многим другим. Встроенные системы отличаются от других вычислительных систем наличием сроков, которые необходимо соблюдать. Это могут быть мягкие сроки (старайтесь свести видимые задержки к минимуму, чтобы не раздражать пользователя/оператора) или жесткие сроки (если вы их пропустите, что-то может потерпеть неудачу или кто-то может умереть). Они бывают разных масштабов: моим домашним термостатом может управлять Attiny «с одним штифтом, привязанным за спиной». :) Другие системы могут содержать множество крупномасштабных чипов или их сочетание, связанных между собой внутренней сетью. Промежуточным примером этого является контроллер автомобильного двигателя. Он управляет сигналами, развлекательной системой, тормозами с АБС, системой контроля тяги и многим другим, одновременно открывая и закрывая клапаны форсунок и зажигая свечи зажигания с точной синхронизацией, со скоростью до 125 раз в секунду. И это для вполне обычного семейного автомобиля с «дорожным» двигателем.

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

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

Итак, доктор: да, я бы назвал это идеальной платформой для всего, о чем вы спрашивали.

,