Arduino Pro Mini ATmega 328P: вывод мусора на последовательную консоль
Arduino Pro Mini ATmega 328P 3.3 V 8MHz, подключенный к USB-порту через USB к последовательной плате прорыва, построенной вокруг чипа FT232RL FTDI. Код проекта JTAGenum загружается в Arduino. Я открыл терминал и попытался запустить тестовую команду (без подключения проводов между target и Arduino), но вывод терминала показал мусорные значения. Скорость передачи данных последовательной консоли была установлена 115200 , как указано в коде JTAGenum. Не уверен, может ли эта проблема быть связана с определениями CPU_PRESCALE в коде.
@minto, 👍1
Обсуждение1 ответ
▲ 0
Значения мусора на выходе в основном обусловлены скоростью загрузки.
- Попробуйте изменить скорость потока на выходном терминале на скорость потока в коде.
- Попробуйте проверить вывод, изменив различные скорости передачи данных на терминале.
Это должно сработать для вас :)
,
@404 - Brain Not Found
Смотрите также:
- Возобновление последовательного соединения после сна на Arduino M0
- Как вывести несколько переменных в строке?
- Как остановить SoftwareSerial от получения данных и повторно включить его в какой-то другой момент?
- Максимальная последовательная скорость CH340
- Сторожевой таймер застрял в цикле перезапуска? (мигает зеленый светодиод)
- Эмуляция стандартного периферийного USB-устройства Mifare с помощью RFID-RC522
- Можно ли загрузить скетч Arduino через последовательный порт (RX) вместо USB?
- Может ли Arduino Leonardo одновременно использовать USB-порт и последовательные контакты RX TX?
Скорее всего, это неправильный F_CPU. Есть ли у вас правильная плата, выбранная в IDE?, @Majenko
Мне удалось загрузить скетч. Я использую веб-редактор Arduino, я выбрал
Board as Arduino Pro или Pro Mini", сначала он показывает состояние красного креста(отключен), когда нажимаю Изменить в меню, он остается подключенным, но когда я проверяю тип платы, я заметил, что по умолчанию всегда выбирается
16MHz ATmega328", а не `8MHz ATmega328". Когда я выбираю "8MHz ATmega328", он показывает отключенное состояние, поэтому я должен нажать кнопку Change. Означает ли это, что моя OEM-плата составляет 16 МГц, а не 8 МГц?, @mintoIDE не может знать, что такое ваша плата - это зависит от вас, чтобы сказать ей. Если это плата с частотой 8 МГц, и вы скажете IDE 16 МГц, то получите мусор. Если это плата с частотой 16 МГц, и вы скажете IDE 8 МГц, то получите мусор. Если вы не знаете, что вы купили, зачем вы это купили?, @Majenko
Нет. Я думаю, что веб-редактор Arduino (как часть Arduino IDE) способен [automatically](https://create.arduino.cc/projecthub/Arduino_Genuino/getting-started-with-the-arduino-web-editor-4b3e4a) определите тип платы и порт, к которому она подключена, без необходимости их индивидуального выбора. Вот почему веб-редактор Arduino по умолчанию всегда показывает _'16MHz ATmega328'_ в меню ВКУСА. Но в моем описании платы Pro Mini ATmega была указана ее модель 328P 3.3 V 8MHz., @minto
Я изменил скорость передачи данных терминала на 57600 бод, и теперь код работает. Из-за предположительно неправильного установленного загрузчика Arduino IDE распознает плату как часы 16 МГц, а не 8 МГц, как это происходит на самом деле, поэтому плагин Arduino использует неправильные настройки при загрузке кода на плату., @minto
Мусорные значения на выходе в основном связаны со скоростью передачи данных. <ол> <li>Попробуйте изменить скорость передачи на выходном разъеме на скорость передачи в коде. <li>Попробуйте проверить вывод, изменив различные скорости передачи данных на терминале. </ol> Это должно сработать для вас :), @404 - Brain Not Found