Используйте Arduino Uno для программирования встроенной Atmega328 на C
У меня есть плата Arduino Uno. Я видел, как можно запрограммировать внешний AVR через плату Arduino Uno, например, ATtiny. Но я начинаю с c для atmel µc, и я просто хочу запрограммировать Atmel328 через аппаратное обеспечение Arduino и иметь возможность использовать выводы arduino для выходов и т. д.
Итак, мой вопрос: могу ли я использовать плату Arduino Uno вместе с avrdude и avr-gcc для программирования встроенного atmel328 на C? И, таким образом, возможность использовать контакты Arduino для вывода и ввода?
@Ognan, 👍1
2 ответа
Лучший ответ:
Ваш вопрос не совсем ясен. Но, насколько я понял, вы спрашиваете, можете ли вы запрограммировать Atmega328 с помощью c, используя низкоуровневую инструкцию и вручную установив все регистры, чтобы использовать порты ввода-вывода atmega. Если это то, о чем вы спрашиваете, я предлагаю вам использовать Arduino ide для программирования Atmega, используя имена регистров, как показано в официальном описании. Таким образом, вы можете начать изучать внутренние части микроконтроллера и в то же время избежать покупки внешнего программатора. Но если вы действительно хотите загрузить свою программу или шестнадцатеричный файл, вам придется купить внешний программатор. Надеюсь помог
PS, если вы используете arduino ide и записываете регистры вручную, не забудьте не устанавливать неправильно регистры конфигурации, потому что это сделает вашу Atmega бесполезной, и вам нужно будет купить внешний программатор.
Изменить: Для лучшего понимания вы можете обратиться по этой ссылке. Программирование Arduino на c
Да, Uno очень прост в программировании. Единственное дополнительное оборудование, которое вам нужно, — это USB-кабель для подключения к компьютеру.
Если вы новичок в этом деле, самый простой способ начать – следовать официальному руководству "Начало работы". гид. Обратите внимание, что раздел о драйверах особенно важен.
В руководстве объясняется, как использовать официальную IDE Arduino для программирования микроконтроллера. Он автоматически обрабатывает компиляцию и загрузку вашего кода через gcc и avrdude. Технически он компилируется как код C++, но обычный код C тоже подойдет.
Я не рекомендую эту IDE для длительного использования, так как она предназначена только для новичков (она имеет ряд ограничений и других проблем). Использование инструментов командной строки напрямую возможно, если вы предпочитаете это. Однако вы также можете рассмотреть альтернативные IDE, поддерживающие подключаемые модули Arduino.
- программирование ардуино на чистом с
- Как передать нестатический член класса для обратного вызова на платформах avr?
- Как создать и загрузить программу на C++ без библиотеки Arduino или IDE?
- Поддерживают ли чипы ATMega 328/2560 JTAG-программатор и аппаратный отладчик?
- Поскольку double и float представляют один и тот же тип данных (обычно), что предпочтительнее?
- Восстановление всех fuse-битов на AtMega328P-PU
- AVRdude неправильно считывает значения байтов предохранителя
- Ошибка загрузки в ATtiny
Так что я могу использовать его как любой другой программатор вместе с avrdude и avr-gcc! Я не хочу использовать Arduino IDE, но у меня могут быть случайные библиотеки C для ATmega328. большое спасибо., @Ognan