Искаженный serial на кастомной Arduino UNO

Я построил свой собственный Arduino UNO для школьноыукшго проекта. Я думаю, что у меня есть загрузчик USB и драйверы Windows, все они расположены, поскольку UNO отображается как UNO в диспетчере устройств. Когда я пытаюсь загрузить скетч, я получаю сообщение об ошибке: avrdude: stk500_getsync(): не синхронизировано: resp=0x10. (ранее я получил такое же сообщение с сообщением, заканчивающимся на resp=0x00)

Я загрузил программу последовательного эха с помощью ICSP и отправил сообщение "serial test" в UNO. Я получил это сообщение в ответ: {u{m}o¿wu{w

Может ли кто-нибудь помочь мне решить эту проблему, так как у меня закончились вещи для тестирования или изучения.

Заранее спасибо.

Редактировать: добавлены запрошенные изображения TX и RX. Они были сняты на контактах 0 и 1 заголовков. Прицел показал те же результаты на штифтах 328P, но я не мог одновременно управлять прицелом и держать щуп.

Контакт 0

Контакт 1

, 👍1

Обсуждение

Можете ли вы получить правильную строку серийного номера, если вы используете другую скорость передачи данных?, @Gerben

Вы использовали существующие gerber-файлы или сами выкладывали?, @Ignacio Vazquez-Abrams

@Gerben Я перепробовал все скорости передачи, и ни одна не работает., @user1362058

@ IgnacioVazquez-Abrams Я сам сделал схему и печатную плату., @user1362058

Найдите осциллограф и подключите его к линиям TX и RX прямо на MCU. Основываясь на битовых шаблонах, я подозреваю, что на линиях много звона или шума., @Ignacio Vazquez-Abrams

Какой чип USB-to-Serial вы используете? ATMega8u2?, @Gerben

@ Гербен Нет, 16U2., @user1362058

@IgnacioVazquez-Abrams Scope результаты отредактированы в оригинальном посте., @user1362058

*HOLY CRAP.* Вам нужно решить эту проблему с последовательным подключением в [EE.SE](http://electronics.stackexchange.com/) *сейчас*., @Ignacio Vazquez-Abrams

@IgnacioVazquez-Abrams Неужели все так плохо?, @user1362058

После нахождения решения на EE.SE я рекомендую удалить этот вопрос отсюда, поскольку на самом деле он не связан с Arduino., @Ignacio Vazquez-Abrams

Может быть проблема с 16u2 или 328. Попробуйте соединить контакты 0 и 1 (Tx и RX) (также добавьте пустой скетч к 328). Попробуйте ввести в консоли. Если с 16u2 все в порядке, набранный текст должен быть возвращен обратно., @Gerben

Связанный: http://arduinoprosto.ru/q/17/some-dude-named-avr-wont-let-me-upload-my-program-aka-avrdude-stk500-getsync, @Anonymous Penguin

См. это сообщение. Там есть предложения по проверке различных вещей. Я подозреваю, что у вас может быть установлен предохранитель «делить часы на 8». Пожалуйста, опубликуйте свой тестовый код. Каков горизонтальный масштаб на этом изображении прицела?, @Nick Gammon


2 ответа


Лучший ответ:

3

Извините за задержку. Я разместил этот вопрос на форуме EE, как и было предложено, и забыл вернуться сюда и закрыть его. Дело было в предохранителях. Моя первоначальная попытка настроить 16u2 пропустила этап, на котором я должен был заменить предохранители. Я думал, что это делается при загрузке прошивки, но ошибся.

,

0

Судя по снимку прицела, у вас проблема с заземлением. Все основания должны быть связаны между собой, даже размах. Похоже, что у вас есть псевдофантомное заземление через систему электропитания. Вы установили скорость передачи данных в uno с помощью Serial.begin (ваша скорость передачи данных);? Скорость должна быть одинаковой на обоих концах. Для проверки вы должны получить UNO и посмотреть, работает ли он, проблема в вашей плате. Также убедитесь, что Tx на UNO идет на RX на принимающей стороне и наоборот.

,