LusoRobótica - Robótica em Português
Sistemas específicos => Arduino / AVR => Tópico iniciado por: Constantino em 22 de Agosto de 2011, 17:39
-
Por que o Led 13 pisca quando o Arduino inicia ?
Obrigado!
-
É o bootloader a dizer que está á espera de dados.
-
Existe alguma forma de desabilitar isso ?
-
uma resistência de 10k entre o VCC e o GND resolve
-
Podem me mandar o esquema ?
-
uma resistência de 10k entre o VCC e o GND resolve
:o Essa é nova para mim, pensei que só modificando o bootloader...
-
Também pensei nisso!
-
não é o bootloader que faz isso, é o conversor usb-serial, ao iniciar manda vário pulsos pela linha dtr, se cortarem o jumper "reset-en" o resultado é o mesmo
-
Não o led ligado ao pino 13 é controlado pelo bootloader.
Se cortas o pino reset-en nunca mais tens upload automático, passas a ter de carregar sempre no reset do arduino.
Para além de que o bootloader corre sempre que ligas a alimentação ao micro ou sempre que lhe fazes reset.
-
eu tenho uma breakout com um conversor ligado, se desligar o dtr ele não faz isso...
-
Quem pisca o led é o bootloader, e não dá para saltar por cima do bootloader, a não ser que tenhas o optiboot, mas mesmo esse acho que pisca o led.
-
o led a piscar é o micro controlador a fazer reset, amanha provo isso ;D
-
Só se mudou para o UNO...
http://www.arduino.cc/en/Hacking/Bootloader (http://www.arduino.cc/en/Hacking/Bootloader)
-
Retirado do bootloader do Arduino:
/* set LED pin as output */
LED_DDR |= _BV(LED);
/* flash onboard LED to signal entering of bootloader */
#if defined(__AVR_ATmega128__) || defined(__AVR_ATmega1280__)
// 4x for UART0, 5x for UART1
flash_led(NUM_LED_FLASHES + bootuart);
#else
flash_led(NUM_LED_FLASHES);
#endif
Linhas 416 a 426 do ficheiro ATmegaBOOT_168.c, isto é o bootloader antigo, agora no optiboot:
#if LED_START_FLASHES > 0
/* Flash onboard LED to signal entering of bootloader */
flash_led(LED_START_FLASHES * 2);
#endif
Ficheiro optiboot.c linhas 247 a 250.
-
pelos vistos estamos os dois certos...
liga o arduino num pc sem as drivers, o led não pisca, desactiva o dtr, o led não pisca... testa
mesmo sem bootloader o mesmo acontece, amanha gravo um vídeo a mostrar isso, com gráficos de um logic analyzer se for preciso :P
edit: estava aqui a pensar e acho que descobri a pólvora: o bootloader precisa de uma interrupção (o reset) para ser iniciado, sem reset (DTR desligado) salta logo para o programa, não pisca. mistério resolvido :P