2016-04-22 5 views
0

Я хочу, чтобы мой робот Atmega работал с несколькими режимами (линейное слежение, предотвращение препятствий, прямое управление с ПК). Как загрузить эти разделенные программы во флэш и как выбрать один из них при перезапуске робот?Несколько программ на AVR atmega

+0

Здравствуйте. Добро пожаловать в Stack Overflow. Пожалуйста, оглянитесь и возьмите [тур] и прочитайте [справочный центр]. Вы также можете прочитать о [спросите] хороший вопрос. – Sampada

ответ

1

Самый простой способ - создать одну большую программу со всеми функциями всех режимов. При запуске в main() проверьте, нажаты ли определенные кнопки, затем выберите, в каком режиме вы будете работать. Затем используйте только функции и механизмы управления для этого режима. Остальная часть кода просто сидит там неиспользованной, но все равно в любой другой схеме.

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

+0

Это обязательно поможет мне с другими моими программами. Благодарю. –

+0

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

Смежные вопросы