Atmel AT90USBKEY2 retardo incorrecto antes de desconectar la alimentación

0

Cuando programo mi AT90USBKEY2 con dfu-programmer, los retrasos son incorrectos hasta que reinicio la placa al desenchufarla.

#include <avr/io.h>
#include <util/delay.h>

int main(void) {
  DDRD = 0xF0;
  while(1) {
    PORTD |= 0xF0;
    _delay_ms(100);
    PORTD &= 0x0F;
    _delay_ms(100);
  }
}

Un programa simple. F_CPU se define en el makefile.

Makefile No estoy orgulloso de hacer estos pasos:

avr-gcc -Wall -Os -DF_CPU=1000000 -mmcu=at90usb1287 -c blink.c -o blink.o
avr-gcc -Wall -Os -DF_CPU=1000000 -mmcu=at90usb1287 -o blink.elf blink.o
avr-objcopy -j .text -j .data -O ihex blink.elf blink.hex
dfu-programmer at90usb1287 erase
dfu-programmer at90usb1287 flash blink.hex
dfu-programmer at90usb1287 reset

El pin 6 del puerto D muestra esto: 15.6msdealto,63.2debajo.

Despuésderebotarpoder,ycadavezqueseiniciadespuésdeeso 100msaltoybajo,lasincronizacióncorrecta.

TambiénprobéunpinenelpuertoAquenoestávinculadoaunLEDintegrado,losmismosresultados.

avrdude:safemode:FusesOK(E:F3,H:99,L:5E)

AVR Fuse Calculator

¿Estoy haciendo algo claramente mal, o simplemente se acepta que tengo que desconectar el tablero después de la programación?

Parece que esto podría ser un problema donde el botón de reinicio / dfu-programmer reset no lo reinicia correctamente. Todavía no sé cómo funciona, se actualizará cuando sepa más.

Aunque rebotar la cosa después de la programación no es lo peor.

    
pregunta mtfurlan

0 respuestas

Lea otras preguntas en las etiquetas