Tengo un problema extraño con AtmelStudio. Tomé algunas capturas de pantalla:
Aquí, Atmel Studio está abierto y verifico la configuración del proyecto. El reloj ISP está configurado en 125 kHz. Esto es bueno.
También compruebo la configuración en la programación del dispositivo (Herramientas -> Programación del dispositivo). 250kHz está bien. Leer la firma no es un problema e incluso puedo programar el dispositivo aquí en Archivo de producción.
Entonces todo se ve bien, presiono F5 para compilar y ejecutar el programa, y esto sucede. Vaya, firma de dispositivo inesperada 0x00000000.
En esta etapa estoy confundido. La comunicación con el dispositivo funcionó perfectamente justo antes. Entrar en Herramientas -> Programación de dispositivos revela lo que sucedió. ¡El reloj del ISP está configurado en 1 MHz! Demasiado alto para el chip. Obviamente, la lectura de la firma aquí falla.
¿Qué está pasando exactamente? ¿Por qué AtmelStudio cambia el reloj ISP del programador? ¿O de dónde viene el 1MHz? ¿Hay alguna configuración que haya pasado por alto?
Creo que descubrí la solución.
En el archivo .proj, ATMEL almacena la configuración como ISPClock, pero no la vuelven a leer como IspClock. Intentan volver a leerlo como DebugWireClockDiv, pero eso nunca existe.
Así que simplemente abra el archivo .cppproj y busque lo siguiente, y agregue el elemento para que coincida con su IspClock.
<com_atmel_avrdbg_tool_atmelice>
<ToolOptions>
<InterfaceProperties>
<IspClock>50000</IspClock>
<DebugWireClockDiv>50000</DebugWireClockDiv>
</InterfaceProperties>
<InterfaceName>ISP</InterfaceName>
</ToolOptions>
yippie
usuario52506
sdkljhdfhda
raimué