Пришла с поднебесной Arduino Nano 3. Драйвера под CH340 встали без проблем, но скетчи нивкакую не заливаются, хотя после ресета LED13 исправно 4 раза моргает (то есть там есть загрузчик и он ждет данные). Открываю монитор порта, шлю символы - светодиод RX на плате моргает. Дальше начинается самое интересное (см. схему). Закорачиваю RX и TX прям на чипе CH340 - шлю символы в монитор порта и те возвращаются, при этом моргает только RX, TX так и не моргает. Закорачиваю RX и TX на чипе ATMEGA328P - шлю символы в монитор порта и те уже не возвращаются, при этом перестает моргать и RX, TX так и не моргает. То же самое, если закорачиваю TX и RX на выводах платы. Прозвонил все дорожки от CH340 до ATMEGA и дальше к выводам платы - проблем не нашел. Собственно вопрос, из-за чего такое может быть? ЗЫ: осциллографа нет
<сарказм mode on> Уважаемый гуру, раз уж вы снизошли ответить нубу, не затруднит вас дать более развернутый нубовменяемый ответ? <сарказм mode off>
Что вам не понятно? Вы не понимаете, что такое электрическая проводимость? Вроде контакты замыкать додумались, значит должны знать.
Я прочитал два раза и не понял, а вникать нет времени и желания. Если коротко, данные уходят от одной платы на другую и не приходят? На контакты не думать?
Мне не понятна ваша фраза "Из-за отсутствия проводимости между ch340 и атмегой" В каком конкретно месте, по вашему, эта проводимость отсутствует?
Я так понял, что вы щамыкаете нори rx tx непосредственно на чипе. И эхо проходит. Значит до ног чипа сигнал доходит. А замыкание проводников дальше по схеме эхо не создаёт. Может быть, печатный проводник оборван рядом с CH340 . Но чаще имеет место дефект пайки. Причем касаясь ножки микросхемы вы можете прижимать её к пятачку и восстанавливать контакт.
Попробуйте перед зашивкой платы выбрать в настройках плату не Arduino Nano, а Arduino Uno, или Arduino Mini. У меня так было с платой Arduino Mini, прошивалась только тогда когда в настройках ставил Arduino Nano. Если не поможет попробуйте перепрошить через SPI загрузчик.
Ваши закоротки в 1 посте ничего не решают. При закоротке 340 получите нормальное эхо потому что есть резисторы до меги. А вот если мега выставила какойто уровень на тх, то этот уровень передавит сигнал с 340 через 1ком резистор. Проблема в непрошивке скорее всего в скорости прошивающей проги и скорости загрузчика. Выше вам посоветовали попробовать прошивать как другой тип ардуины на аналогичном контролере, и это наверняка решит проблему.
Собрал ISP из MEGA2560, пытаюсь прошить напрямую через разъем ICSP, но походу не отвечает там никто. Спойлер: Лог процесса прошивки Arduino: 1.6.11 (Windows 7), Плата:"Arduino Nano, ATmega328" Скетч использует 928 байт (3%) памяти устройства. Всего доступно 30 720 байт. Глобальные переменные используют 9 байт (0%) динамической памяти, оставляя 2 039 байт для локальных переменных. Максимум: 2 048 байт. C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM7 -b19200 -Uflash:w:C:\Users\User\AppData\Local\Temp\build9c9ef3bdfe2fccb480bc6e4bac749e41.tmp/Blink.ino.hex:i avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2009 Joerg Wunsch System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf" Using Port : COM7 Using Programmer : stk500v1 Overriding Baud Rate : 19200 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x03 AVR Part : ATmega328P Chip Erase delay : 9000 us PAGEL : PD7 BS2 : PC2 RESET disposition : dedicated RETRY pulse : SCK serial program mode : yes parallel program mode : yes Timeout : 200 StabDelay : 100 CmdexeDelay : 25 SyncLoops : 32 ByteDelay : 0 PollIndex : 3 PollValue : 0x53 Memory Detail : Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00 signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00 Programmer Type : STK500 Description : Atmel STK500 Version 1.x firmware Hardware Version: 2 Firmware Version: 1.18 Topcard : Unknown Vtarget : 0.0 V Varef : 0.0 V Oscillator : Off SCK period : 0.1 us avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.02s avrdude: Device signature = 0x000000 (retrying) Reading | ################################################## | 100% 0.03s avrdude: Device signature = 0x000000 (retrying) Проблема загрузки в плату. Помощь по загрузке: http://www.arduino.cc/en/Guide/Troubleshooting#upload . Reading | ################################################## | 100% 0.02s avrdude: Device signature = 0x000000 avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check. avrdude done. Thank you. Для себя я ничего полезного там не нашел, может кто поопытнее увидит там причину или укажет направление, куда копать дальше. ЗЫ: Скорость в boards.txt выставил как в скетче 19200
И скорость в загрузчике 1200 и загрузчик перекомпилирован и прошит? Если нет, то зачем менять в boards? И каким образом скорость порта в скетче связана со скоростью загрузчика? Восстановите boards и просто в настройках иде перебирайте варианты плат, которые на 328 меге.