Hola a todos:
Antes que nada quiero saludarles y comentarles que tengo muchos problemas usando estos micros además que ya mi proyecto está muy cerca de ser entregado, ando desesperada, si me pudieran ayudar les agradecería muchísimo
; ya he leído las especificaciones técnicas, sin embargo, me han dado una serie de problemas que los tendré que enumerar yo creo
1. Tengo un código en C que me he ayudado en direntes referencias para tomarlo en cuenta para la conversión analógica a digital, le he dado debug en el AVR studio 4 para ver como funcionan los puertos, mmm creo que bien, aunque no se si esté del todo bien, el siguiente es el código:
#include <avr/io.h>
int main (void)
{
DDRB = 0xFF; //port B
int x = 0;
// Se supone aquí que se activa el ADC con "prescaler" es decir, se divide la frecuencia entre 16 //como: 16 --> 1 Mhz/16 = 62.5 Khz, pero espero que lo esté haciendo bien
ADCSRA = _BV(ADEN)| _BV(ADPS2);
for ( ; ; ) //ciclo infinito para que siempre se convierta el valor analógico a digital
{
//seleccionar el pin ADC0 usando MUX
ADMUX = 0;
//La conversión empieza
ADCSRA |= _BV(ADSC);
//Esperar hasta que la conversión se acomplete
while (ADCSRA & _BV(ADSC) ) {}
//Obtener el valor ya convertido
x = ADCW;
//Dar salida a los 8 bits
PORTB = ~x >> 2;
}
}
Se supone que este código se aplica para muchos AVR puesto que ofrecen casi las mismas funciones, en el código se dice que una señal analógica entra al ADC0 y después se convierte en 10 bits, bueno en realidad 8, porque tiene que ver el valor minimo y el maximo, usando el convertidor analógico digital del micro. Toda esta conversión sale por todo el puerto B, es decir el PORTB todos los 8 pines de ese puerto.
Mi duda empieza porque cuando quiero conectar el AVR dragon al ATTINY561 (por medio del cable ISP, ) una vez me lo detectó, pero no hace nada, no despliega nada en leds, pero al parecer funciona, ocupo saber si le falta mucho al código porque veo otros programas y veo que son mas complejos
2. Mi segunda duda es, al parecer compila el programa (aunque a lo que veo en el debug, está muy raro, en un momento a otro veo que se llenan todos los "leds" o los puertos, es decir como si fuera un valor de 255 y ahi se queda) y se generan muchos archivos para que se programen al AVR, sin embargo si no me funciona el AVR dragon, creo que tendre que poner el micro en un programador universal, pero ocupo un archivo especial que no se cual pueda ser:
A continuación listo los nombres y sus extensiones de los archivos que se me generan en la compilación:
- SensorTest.elf >>>> tengo entendido que este archivo es el que se le programa al micro, o mas bien pasandolo a .bin, que en realidad no se cómo se hace
- Makefile
- SensorTest Intel Hex file
- SensorTest.o
- SensorTest.o.d
En realidad, si quiero usar un programador universal, ¿ cuál archivo debo cargar ?
3. Mi tercera duda es que también quiero implementar el código en el Atmega8535, bueno sin mencionar que ocupo cambiar el nombre de los puertos, también ocupo saber que extensión de archivo debo cargar al micro, y si es la .elf , se ocupa a .bin ?
Por favor, les pido su ayuda porque ando ya muy desesperada, tengo mas de dos meses con esto y no me sale , muchas gracias por su atención
Nataly
Antes que nada quiero saludarles y comentarles que tengo muchos problemas usando estos micros además que ya mi proyecto está muy cerca de ser entregado, ando desesperada, si me pudieran ayudar les agradecería muchísimo
1. Tengo un código en C que me he ayudado en direntes referencias para tomarlo en cuenta para la conversión analógica a digital, le he dado debug en el AVR studio 4 para ver como funcionan los puertos, mmm creo que bien, aunque no se si esté del todo bien, el siguiente es el código:
#include <avr/io.h>
int main (void)
{
DDRB = 0xFF; //port B
int x = 0;
// Se supone aquí que se activa el ADC con "prescaler" es decir, se divide la frecuencia entre 16 //como: 16 --> 1 Mhz/16 = 62.5 Khz, pero espero que lo esté haciendo bien
ADCSRA = _BV(ADEN)| _BV(ADPS2);
for ( ; ; ) //ciclo infinito para que siempre se convierta el valor analógico a digital
{
//seleccionar el pin ADC0 usando MUX
ADMUX = 0;
//La conversión empieza
ADCSRA |= _BV(ADSC);
//Esperar hasta que la conversión se acomplete
while (ADCSRA & _BV(ADSC) ) {}
//Obtener el valor ya convertido
x = ADCW;
//Dar salida a los 8 bits
PORTB = ~x >> 2;
}
}
Se supone que este código se aplica para muchos AVR puesto que ofrecen casi las mismas funciones, en el código se dice que una señal analógica entra al ADC0 y después se convierte en 10 bits, bueno en realidad 8, porque tiene que ver el valor minimo y el maximo, usando el convertidor analógico digital del micro. Toda esta conversión sale por todo el puerto B, es decir el PORTB todos los 8 pines de ese puerto.
Mi duda empieza porque cuando quiero conectar el AVR dragon al ATTINY561 (por medio del cable ISP, ) una vez me lo detectó, pero no hace nada, no despliega nada en leds, pero al parecer funciona, ocupo saber si le falta mucho al código porque veo otros programas y veo que son mas complejos
2. Mi segunda duda es, al parecer compila el programa (aunque a lo que veo en el debug, está muy raro, en un momento a otro veo que se llenan todos los "leds" o los puertos, es decir como si fuera un valor de 255 y ahi se queda) y se generan muchos archivos para que se programen al AVR, sin embargo si no me funciona el AVR dragon, creo que tendre que poner el micro en un programador universal, pero ocupo un archivo especial que no se cual pueda ser:
A continuación listo los nombres y sus extensiones de los archivos que se me generan en la compilación:
- SensorTest.elf >>>> tengo entendido que este archivo es el que se le programa al micro, o mas bien pasandolo a .bin, que en realidad no se cómo se hace
- Makefile
- SensorTest Intel Hex file
- SensorTest.o
- SensorTest.o.d
En realidad, si quiero usar un programador universal, ¿ cuál archivo debo cargar ?
3. Mi tercera duda es que también quiero implementar el código en el Atmega8535, bueno sin mencionar que ocupo cambiar el nombre de los puertos, también ocupo saber que extensión de archivo debo cargar al micro, y si es la .elf , se ocupa a .bin ?
Por favor, les pido su ayuda porque ando ya muy desesperada, tengo mas de dos meses con esto y no me sale , muchas gracias por su atención
Nataly