Portál AbcLinuxu, 5. listopadu 2025 22:35
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.