Practicas para iniciar con el atmega32 utilizando el avrstudio 4 y el lenjuage C

Y Sánchez dijo:
Muchas gracias, lo revisaremos a detalle, y estoy de acuerdo contigo, en que lo delicado son los tiempos y quizá el comportamiento de los puertos del MCU empleados....

Tienes toda la razón Y Sánchez. Los dos display lcd que tengo de 16*2 no funcionan en cierta conexión en mi atmega32, no me acuerdo de cual es, pero eso me sucedio con los dos, tanto con el jhd como con el tianma. Pero era solo un pin que no me acuerdo cual es. Creo que era en el puerto D. Que por cierto en la simulación del proteus si funciona pero en la practica no funcionaba. Lo mismo me pasaba con lo tiempos de inicialización no importaban en el proteus porque ahí si funcionaba, pero en protoboard no funcionaba y el error solo eran los tiempos de inicialización del LCD.

Así que si no les funciona el lcd pruebenlo en otros puertos, yo hablo por el atmega 32 no se si esto pase tambien en otros microcontroladores de atmel ó es burrada mía. Y los tiempos de inicialización hay que verificarlos, tal y como expongo en una respuesta anterior en este mismo tema.
 
Saludos, estoy interesado en empezar a programar con winavr, pero no encuentro un documento con las funciones que implementa y su sintaxis, me refiero a: configurar perifericos,declaracion variables,sintaxis de cada funcion y que hace...algo parecido a los manuales de C normales, o cd CCs para pic.

¿Alguien sabe donde puedo encontrar algo parecido?
 
Ok, gracias, creo que te refieres al manual "avr-libc-user-manual" que tiene unas 400 paginas, es verdad las funciones viene al final, divididas por librerias. Tambien tendre en cuenta lo de los datasheet
 
fitocondria dijo:
Inicio este tema, debido a que varios habían expresado su interes en los microcontroladores de atmel, y debido a mi asesor de tesis, el cual me sugirio que utilizara el microcontrolador atmega32 de la compañia atmel, inicio estas series de prácticas mientras veo futurama.

Lo siguiente que utilizaré para las prácticas es lo siguiente.

Software:

AVRStudio 4 - version 4.13.528
WINAVR20080402

Hardware:

avrispmkII
microcontrolador atmega32
componentes varios.

Que tal amigo, oye tengo una duda que no he encontrado en ningun lado como resolver, y es que como puedo crear una libreria .h (por ejemplo "algo.h") en el AVR studio 4 para el programa que estoy haciendo C y asi ya solo llamarlo con include

y otra duda es que que diferencia hay entre una libreria que usa < > y una xon " " por ejemplo.. #include <ioavr.h> e #include "stdint.h"?

bueno de ante mano gracias.
 
no se si voy a yudar mucho, ya veo q es un poco tarde dkns pero hay q poner

#ifndef _ALGO_H
#define _ALGO_H

en el propio archivo de .h y después lo añades al proyecto en el programa q este usando. las librerias q tu hayas creado las llamas con comillas "" y las q estan ya definidas pues las llamas con <>. No soy ninguna experta asi q qiza no, pero si aun tienes la duda lo puedes probar.

mi duda es q creo q tambien he programado mal la frecuencia de mi ATmega128, y ya se q en un post esta explicado pero no me qeda muy claro. si alguien me puede ayudar, genial!
 
Alguien sabe por que cuando uso el delay _delay_ms(xvalor); el tamaño de mi programa cre una brutalidad y cuando uno _delay_loop_2(xvalor); no si respetos los valores por las dudas, pero de un programa con que uso el _delay_loop_2(xvalor); a _delay_ms(xvalor); el tamaño crece de unos 370bytes a 3500byte por ejemplo.

programo en avr studio 5.

muchas gracias espero que me puedan aclarar mi problema

saludos.
 
Si es normal eso, ya que usa ciertas librerias que requieren mucho codigo en ASM (¿porque? ni idea).

Yo para el manejo de un LCD uso un delay como este:

Código:
void delay_us(u16 cuenta)	//Válido sólo con Xtal=1MHz
{
	u16 aux;
	
	for(aux=0;aux<=cuenta;aux++)
		{
		asm("sub r0,r0");	//tarda 1 clk => 1uS
		}		
}

void delay_ms(u16 cuenta)	//Válido sólo con Xtal=1MHz
{
	u16 aux;
	for(aux=0;aux<=cuenta;aux++)
		{
			delay_us(1000);
		}		
}

Tene en cuenta que en ese "uS" no tengo en cuenta el tiempo de salto a la funcion "delay" y ni tampoco el salto del "for", por lo tanto yo diria que esa funcion "delay" tardara 5uS o mas (tendria que ver como se traduce el for en assembler y cuantos clk's tarda el uC en ejecutar un jmp). Pero creo que para un simple delay en el que no necesitas precision del uSeg, te va a servir.
 
Hola, queria preguntarte si esto que haces es valido para utilizar un ATMEGA23U4, ya que para no complicarse con un programador, pensaria utilizar este micro con USB incorporado.
Muchas gracias y saludos.
 
Hola
De antemano un saludo a todos los del foro y sin mayor preambulo voy al grano.
Tengo problemas con los Fuses por que quiero utilizar un cristal de 8Mhz con un atmega32 y no he podido lograrlo desde hace varias semanas :cry:. Realize un programa para usar un LCD y el USART a esta frecuencia. Programe el micro con el AVRISP ajustando los FUSES asi: High=C9 y Low=FF. De esta forma el LCD me saca mensajes revueltos y el USART no funciona definitivamente.

Ahora si le programo los FUSES asi: High=D9, Low=FF y de todas formas sigue sin funcionar correctamente el atmega32 con el cristal de 8Mhz externo.

Ahora bien, le programo los Fuses para usar el oscilador interno a 8Mhz: High=D9, Low=E4 y de todas formas no sale nada en el LCD ya ni decir nada del USART.

Podrian orientarme por favor, he leido el datasheet del atmega32 de ahi mis propuestas de los fuses, la verdad estoy un poco desesperado. Francamente he notado que si les funcionan los microcontroladores AVR a muchos y por eso no he querido renunciar a dejarlos.

Ya no se si es el programador o que será, al menos mis programas en el AVRstudio corren bien y la simulacion en el proteus también.

Les agradesco mucho orientación, gracias.
 
Hola que tal, yo tengo un probrema en generar un tono con el atmega8 no tengo ni idea, me habian dicho sobre un libro que esta en ingles pero no lo encuentro, o si alguien sabe como hacer tonos con el atmega8 me gustaria que me ayudara. yo uso el avr studio 4.19. gracias y hasta luego.
 
Bueno he visto dos formas de generar tonos, uno es usando ciclos for junto con retardos "cosa que le quita el tiempo al procesador" y la otra es usando los timers para que generen una salida de X frecuencia y asi ir generando los distintos tonos. Fijate que el compilador CCS tiene una libreria en C que te permite generar tonos, puedes verla y por asi decirlo "copiarle"
 
Atrás
Arriba