Portál AbcLinuxu, 14. května 2025 00:36
setup()
přidám řádku Serial.begin(9600);
a pokusím se naprogramovat, tak mi to selže po verifikaci s chybou avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51
. Pokud před Serial.begin(9600);
dám ještě delay(100);
, tak programování neselže, ale když pak dále vypisuji něco pomocí Serial.println()
, tak se to vůbec neukazuje v sériové konzoli, jako kdyby to vůbec nekomunikovalo. Je ta sériová linka vyhrazená jen pro programování? V kódu bootloaderu vidím, že to používá funkce getchr(), putchr() při komunikaci mezi arduinem (což je sériová linka?).
Serial.begin(9600);
. Pokud ho zakomentuju, nebo před něj dám onen delay(100)
, tak programování se zdá být ok (nebo to alespoň zahlásí arduino). Jakoby se ta sériová linka tloukla právě s tím, jak funguje bootloader (který podle mě kominukuje přes tu samou linku pro naprogramování procesoru, je to tak?)
/usr/share/arduino/hardware/tools/avrdude -C/usr/share/arduino/hardware/tools/avrdude.conf -v -v -v -v -patmega328p -carduino -P/dev/ttyUSB0 -b115200 -D -Uflash:w:/tmp/build3009144612131232095.tmp/Blink.cpp.hex:i(tj. bez parametru -V)
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.