Autor Tema: no programa mi atmega16  (Leído 4278 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado zidfrid23

  • PIC10
  • *
  • Mensajes: 27
no programa mi atmega16
« en: 02 de Diciembre de 2009, 20:00:54 »
hola amigos.

mi problema es que no me quiere progrmar la flash de mi atmega16, ya lo habia programado antes y todo esta bien, pero recientemente fui a programarlo de nuevo y resulta que me lee bien el signature pero cuando veo en veo en el avrdude el resultado de la programacion, me encuentro que escribe (0 bytes) programados y efectivamente no baja nada a la flash.

cualquier consejo para solucionar el problema es bien recibido.

de antemano muchas gracias por el tiempo tomado en leer mi problema y por la ayuda ofrecida. :D

Desconectado stk500

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4919
Re: no programa mi atmega16
« Respuesta #1 en: 02 de Diciembre de 2009, 20:21:58 »
ok para poder ayudarte necesitamos mas informaciones, Pj. que programa usa, AVRDude con que programador lo programa y como. los que puede suceder es el Cristal y no te lee bien el micro, los grabaste en ISP modos? y con cristal externo? si pone el codigo seria de buena ayudas.

Desconectado zidfrid23

  • PIC10
  • *
  • Mensajes: 27
Re: no programa mi atmega16
« Respuesta #2 en: 04 de Diciembre de 2009, 10:50:15 »
Hola stk500.

bueno como lo dije anteriormente programo mis micros con el avrdude-gui, con programador paralelo que ejecuto en el avrdude seleccionando el programador alf.
En la seccion de la flash siempre selecciono read, write y verify.

la configuracion que doy a los fusibles es low=0x64, high=0x99.

En las opciones selecciono solo las siguientes: perform ship erase y verify the device signature.

Y por ultimo en el comand line siempre me voy al final de la linea y busco donde aparecen escritos los valores que he asignado a los fusibles y le agrego 0x:m para que funcione bien por ejemplo: ":a -U lfuse:w:0x64:m -U hfuse:w:0x99:m -e -F

Esto es con oscilador interno rc a 8Mhz, habilito siempre la comunicacion isp y la jtag.

como dije anterior mente, el signature me lo lee bien, pero no me esta descargando el programa a la flash.
el codigo puede ser cualquiera como simplemente poner a encender un led por el puerto A, igual no lo baja a la flash.


Desconectado stk500

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4919
Re: no programa mi atmega16
« Respuesta #3 en: 04 de Diciembre de 2009, 13:13:18 »
pues lo siento muchos no poder ayudarte ya que yo uso el Studio4 AVR con el AVRDude, cosas que te aconsejo compilar con el AVR_Studio y simularlo , desconozco el programador que usa, si pone el codigo lo podemos estudiar,
asi que bajaste el AVR studio, es totalmente gratis


Desconectado zidfrid23

  • PIC10
  • *
  • Mensajes: 27
Re: no programa mi atmega16
« Respuesta #4 en: 04 de Diciembre de 2009, 17:46:27 »
hola amigo.

siempre he funcionado con el avr_studio, en estos momentos tengo la version 4.16 con su service pack1.
Solo que este  no me sirve para el programador paralelo que tengo y por ello la programacion del micro la hago con el avr dude.
lo que es codigo lo hago todo en avr studio y las simulaciones completas con el proteus 7.6.


Desconectado Belgitaes

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 215
Re: no programa mi atmega16
« Respuesta #5 en: 05 de Diciembre de 2009, 08:11:01 »
Código: [Seleccionar]
programo mis micros
con el avrdude-gui, con programador paralelo
la configuracion que doy a los fusibles es
con oscilador interno rc a 8Mhz

Creo Que Tu Error Esta En Los Bytes De Fusibles Altos Si Utilizas Un Programador Paralelo
No Puedes Configurarlo Con Puerto Com A Traves El Puerto LPT
Código: [Seleccionar]
la configuracion que doy a los fusibles es low=0x64, high=0x99.


high=0x99 1001 1001
low =0x64 0110 0100


De Fabrica:
high=0x99 1001 1001
low =0xE1 1110 0001

Fusibles Para Usar El Oscilador Interno Y La Programacion Paralelo

Bytes Altos
Los Bits 5 - 6 Habilitan Jtag Y Spi
Se Deben De Cambiar Los Valores Que Vienen De Fabrica

JTAGEN = Habilita El JTAG ( 0 = Programado )
SPIEN  = Habilita La Programacion De Datos Serie SPI ( 0 = Programado )

En Todo Caso Pondria
high=0xF9 1111 1001
JTAGEN = Habilita El JTAG ( 1 = Sin Programar )
SPIEN  = Habilita La Programacion De Datos Serie SPI ( 1 = Sin Programar )

Bytes Bajos  
low =0x64 0110 0100
Los Bits 0-1-2-3- Establecen 8 Mhz
« Última modificación: 05 de Diciembre de 2009, 08:19:50 por Belgitaes »

Desconectado zidfrid23

  • PIC10
  • *
  • Mensajes: 27
Re: no programa mi atmega16
« Respuesta #6 en: 07 de Diciembre de 2009, 13:17:22 »
hola belguitas.

gracias por tu recomendación, voy a ensayar la configuración de fuses que me dices a ver que pasa.

de lo contrario creo que me tocaria revivir el micro con un hv o algo similar.

Desconectado zidfrid23

  • PIC10
  • *
  • Mensajes: 27
Re: no programa mi atmega16
« Respuesta #7 en: 26 de Diciembre de 2009, 13:54:08 »
Hola amigos del foro.

Bueno despues de un buen rato tratando de solucionar este problema encontre la solucion y espero que esta le sirva a otros que les llegue a pasar lo mismo que a mi.

lo que hice para solucionar esto fue que arme un oscilador a 1Mhz con un lm555, si el famosisimo 555 lo configure como generador de señal a 1Mhz con ciclo util del 50%, despues de esto procedi a inyectar esta señal de 1Mhz por pin Xtal1 de el ATmega16, acto seguido procedi a programar el micro de la manera en que lo hago convencionalmente y en los low fuses le puse el valor 0xE0, los high fuses los deshabilite y procedi a programar el micro.

y buala eso fue todo. con esto revivio mi atmega16 y ya se deja programar normalmente como antes.

Espero esto le sea de utilidad a alguien.

Saludos y gracias por su ayuda e interes amigos.

Desconectado stk500

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4919
Re: no programa mi atmega16
« Respuesta #8 en: 26 de Diciembre de 2009, 17:48:40 »
un consejo te doy, cuando programe con oscilador externo ponle un Cristal al micro, como todos los micro que se programan  con ISP siempre se debe usar un oscilador externo, claro siempre y cuando el micro se programa con cristal externo y evitar dejar el micro muerto. no olviden que el cristal es el corazon de los micros.