Ардуино как ISP с serial monitor для ATmega328
У меня есть ATmeg328 TQFP на плате (в системе). Я использую Arduino Uno в качестве ISP для программирования чипа. Однако я хотел бы использовать последовательную связь с чипом через плату Arduino.
- Возможно ли это?
- Если да, как я могу это реализовать?
EDIT: у меня недоступны контакты tx и RX. Чип находится на плате. Под платой Arduino я имею в виду, что для этого я хотел бы использовать контакты Miso Mosi sck.
@pritstift, 👍1
Обсуждение3 ответа
Просто запишите загрузчик Arduino на свой tqfp. Затем подключите tx и rx на tqfp к tx и rx на вашем arduino и потяните линию сброса на arduino на низкий уровень.
Недостаток заключается в том, что перед программированием необходимо выполнить сброс tqfp вручную. Если у вас есть Uno, вы можете удалить atmega из розетки и подключить сброс на uno к сбросу на tqfp.
Другой вариант — подключить TX на tqfp к контакту TX на Arduino с помощью резистора. Но для того, чтобы это работало, вам нужно изменить скетч ArduinoISP, чтобы он освободил вывод TX (UCSRnB &= ~_BV(UCSRnB);
) и установил его на вход. И переверните его, когда данные будут получены на RX. Не тривиально и работает только в одном направлении (tqfp на ПК).
Спасибо за ответ, но я не хочу использовать контакты tx и rx, @pritstift
В дополнение к моему предыдущему комментарию-предложению о том, что вы можете реализовать связь через SPI, добавив функциональные возможности как в скетч ISP, так и в целевую программу, теперь мне приходит в голову, что другим подходом было бы реализовать последовательные функции программного обеспечения на обоих, назначенных к некоторым контактам, используемым для ISP во время этого процесса.
как здесь? У Ника Гэммона есть набросок, который включает в себя ISP с последовательным управлением. Sketch доступен на GitHub здесь
- Отправка последовательных данных в прерывании
- Arduino UNO для получения подписи чипа ATmega328P-PU
- Как запрограммировать чип ATmega328 au tqfp32 (SMD)?
- Последовательная связь ESP8266 с ATMega328P
- ATmega328P-PU: программатор не отвечает
- Почему SoftwareSerial не работает как надо на Arduino Pro Mini 3v3?
- Почему последовательная связь не работает на atmega168/328p?
- 16-герцовая плата Uno R3 против платы Arduino Uno R3
Что именно вы имеете в виду под «через плату Arduino»?, @Nick Gammon
Целевой чип подключен через ISP к Arduino Uno. Я хочу использовать последовательный монитор для отображения информации с целевого чипа, но единственное соединение чипа — через Arduino., @pritstift
Конечно, это возможно — вы можете легко встроить дополнительные функции в скетч Arduiono-as-ISP, чтобы обеспечить взаимодействие с прошивкой во время выполнения, потенциально включая мост между SPI и асинхронным последовательным портом. Но вам придется решить для себя, что именно требуется, и придумать какую-нибудь схему переключения интерфейса Arduino между режимом ISP и коммуникационным мостом., @Chris Stratton
Использование «кабеля FTDI» и загрузчика может быть немного проще. В худшем случае вы можете настроить Arduino так, чтобы он работал как кабель FTDI после того, как вы сожгли загрузчик., @Paul