Traduccion o creacion de manual para microcontroladores AVR

META... como ya se ah dicho....para C se va a utilizar AVRGCC "WINAVR" en windows que se integra a la perfeccion con el AVRSTUDIO... para ensamblador pues ovbiamente el AVRSTUDIO..:rolleyes:
 
Como dije aqui tengo el ejemplo de las interrupciones, las instrucciones estan en el archivo.c. Es sencillo pero funcional, siguiendo las indicaciones de este ejemplo se puede usar para otros cometidos, como la del generar la interrupción para leer un teclado 4x4 que subiré mas adelante.

El archivo incluye el esquema en proteus 7.5 sp3, archivo .c y .hex

Aqui teneis un esquema de un circuito para la lectura de un teclado con interrupción
 

Adjuntos

  • interrupciones.rar
    15.7 KB · Visitas: 279
  • Dibujo.jpg
    Dibujo.jpg
    76.3 KB · Visitas: 129
Última edición:
Yo no uso mucho winavr por al crear funciones no me reconoce las variables y salta a la siguiente linea.
Solamente lo realiza bien si declaro a las variables como volatile, ese tipo de variables generalmente se usa en interrupciones.
 
Yo no uso mucho winavr por al crear funciones no me reconoce las variables y salta a la siguiente linea.
Solamente lo realiza bien si declaro a las variables como volatile, ese tipo de variables generalmente se usa en interrupciones.

Pues no entiendo por que te ocurre eso, en ese aspecto jamas he tenido ese problema con winavr. quezas es algo que haces mal.
 
Buenas:

¿Pueden hacer un minituto con capturas en Word de WinAVR sobre configuración, seleccionar un AVR y el botón de compilar?

Es fácil, pulsa en el teclado "Alt+Impr PetSis" para capturar la ventana de WinAVR. Luego lo pegas en el Word con "Control + V". De esa manera muy rápido. Ya me encargaré de mejorarlo a mi manera y pasarlo a pdf.

Salu2.
 

Adjuntos

  • WinAVR_01.jpg
    WinAVR_01.jpg
    35.4 KB · Visitas: 28
Última edición:
Yo no uso mucho winavr por al crear funciones no me reconoce las variables y salta a la siguiente linea.
Solamente lo realiza bien si declaro a las variables como volatile, ese tipo de variables generalmente se usa en interrupciones.

El WinAVR siempre esta tratando de dejar el menor codigo posible.... si la variable no esta declarada como volatile y el compilador detecta que no se esta modificando el valor entonces asume que no es necesaria en esa parte del programa y la elimina automaticamente....
 
En este simple ejemplo me sucede que retardo no existe. Optimizado en zize.
En cualquier otro compilador que use para avr optimizado en zize si lo toma en cuenta la función retardo.


Código:
#include <avr/io.h>

void retardo(unsigned int a){
 while(a--);
  }


int main(void){

PORTB= 0;
DDRB= 0x0f;
 while(1){
 PORTB= 0;
 retardo(5000);
 PORTB= 15;
 retardo(5000);
 }
return 0;
}
 
Última edición por un moderador:
Toma te envio el projecto entero y con esquema de proteus.


P.D. prometi subir la libreria traducisa para el manejo de una ldc 2x16 pero no me ha dado tiempo a traducir todo, a finales de septiembre la subire
 

Adjuntos

  • retardo.rar
    48.4 KB · Visitas: 151
Si te das cuenta la funcion retardo solo toma menos de un useg y lo salta en la simulacion.
Te doy este ejemplo que me diste pero agregado lo que e echo en IAR optimizado en zize.
 

Adjuntos

  • retardo 2.rar
    51.6 KB · Visitas: 96
Hola, ya estoy de vuelta, veo que no ha habido mucha actividad.

Bueno, aqui esta el manual y la biblioteca para usar una LCD 16x2
 

Adjuntos

  • lcd.rar
    78.7 KB · Visitas: 260
Atrás
Arriba