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 в коде.

, 👍1

Обсуждение

Скорее всего, это неправильный F_CPU. Есть ли у вас правильная плата, выбранная в IDE?, @Majenko

Мне удалось загрузить скетч. Я использую веб-редактор Arduino, я выбрал Board as Arduino Pro или Pro Mini", сначала он показывает состояние красного креста(отключен), когда нажимаю Изменить в меню, он остается подключенным, но когда я проверяю тип платы, я заметил, что по умолчанию всегда выбирается 16MHz ATmega328", а не `8MHz ATmega328". Когда я выбираю "8MHz ATmega328", он показывает отключенное состояние, поэтому я должен нажать кнопку Change. Означает ли это, что моя OEM-плата составляет 16 МГц, а не 8 МГц?, @minto

IDE не может знать, что такое ваша плата - это зависит от вас, чтобы сказать ей. Если это плата с частотой 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


1 ответ


0

Значения мусора на выходе в основном обусловлены скоростью загрузки.

  1. Попробуйте изменить скорость потока на выходном терминале на скорость потока в коде.
  2. Попробуйте проверить вывод, изменив различные скорости передачи данных на терминале.

Это должно сработать для вас :)

,