Paso 5: Introducción al estudio de ATMEL IDE
Volver en ATMEL Studio 6 y en la página de inicio, haga clic en 'nuevo proyecto'. A la izquierda de la ventana que se abre, haga clic en C/c ++ porque a escribir nuestro código en C. En el centro de la ventana, elija 'GCC C ejecutable proyecto' (ver foto 2). GCC es el compilador de C que se traducirá el código en un archivo HEX el AVR puede entender. Escriba un nombre para el proyecto y elija una ubicación y haga clic en 'OK'. Luego aparece otra nueva ventana pidiéndole que seleccione el dispositivo que está utilizando (Fig. 3) Elija ATMega328P y antes de hacer clic en ok, mire a la derecha de la ventana. Aquí puede descargar hoja de datos del dispositivo y aprender sobre herramientas de apoyo. Haga clic en 'OK' y finalmente veremos el ATMEL Studio IDE (entorno de desarrollo integrado - pic 4.)
En el lado derecho encontrará la ventana de 'explorador'. Esto es útil para la visualización de los archivos utilizados en el proyecto. La ventana grande en el medio es el *. C archivo ya abierto para que usted pueda comenzar a escribir el código. Que va realmente todo lo que necesitamos para sacar este proyecto, pero hay que ir al menú ayuda y mire a su alrededor. Le llevará al sitio de ATMEL donde encontrarás un montón de información sobre el uso de este software. En particular, buscar algo de información sobre el simulador AVR. Es básicamente una versión del software de un chip AVR que puede probar el programa y mostrarte muchos Estados de tiempo de ejecución de la viruta. Está muy bien, pero no sea cubrirla aquí puesto que realmente no necesitamos para este proyecto.
En la ventana principal, habrá algún texto verde con el nombre del proyecto, la fecha y el autor material en la parte superior. Cada bit del texto en verde es un comentario. Cada vez que escribes un "/ /" todo lo que sigue en esa línea será un comentario. O, usted puede comenzar un comentario con "/ *" y acabarlo más tarde con "* /". De esa manera puede tener comentarios que ocupan varias líneas muy fácilmente. También es útil durante la depuración a 'comentar' molestas líneas de código para probar sin ellos y fácilmente 'activarlos' más adelante.
La instrucción '#include' es el primer código real que vemos. Indica al compilador que incluya (¡ Imagínese!) los archivos que viene después de la instrucción '#include'. En este caso < avr/io.h > es un archivo hex que da la información específica del compilador acerca de los diferentes chips AVR que podemos utilizar.
Main int - este es el cuerpo principal del programa, bien, el principio de de todos modos. "Main()'" es realmente una función (más acerca de las funciones más adelante) que debe estar en cada programa y todo lo que en nuestro programa contiene. Otras funciones pueden llamarse desde Main() permitiendo el flujo del programa para dejar de Main(), pero después de la otra función ha terminado su trabajo, debe regresar a Main() para continuar.
while(1) es un bucle infinito donde nuestro código principal se ejecutará una y otra y más. El '1' es la condición para el lazo y puede también ser una expresión como: while(a == 1) en cuyo caso el bucle continuará hasta que "a" no igual a uno más. Queremos que nuestro bucle para ejecutar siempre, por lo while(1) hará por nosotros. El compilador analiza la expresión en paréntesis después de 'tiempo' y lo evalúa como ser verdadero o falso. Basándonos en esto, el bucle seguirá si es cierto. Si queremos que se ejecute siempre, omitir la expresión y sólo diga el compilador que es verdad todo el tiempo poniendo un '1'.
en la programación de este tipo, hay muchas maneras para decir básicamente lo mismo en diferentes contextos. EX. '1' es ' lógico ' es 'true' es 'set' y '0' es 'lógica baja' es 'falso' es 'Borrar'... puede ser un poco confuso, pero... bueno, es simplemente confusa. ---referencia ese libro PDF relaciona sobre "Programación en C para microcontroladores". Tiene toda la información que usted necesita para hacer algún sentido de C. ***
¿Notó las llaves "{}"? Se trata de cómo saber el compilador para el tratamiento de todas las líneas de código dentro de las llaves como un solo bloque a realizar juntos. Por ejemplo, el bucle de while(1) se ejecutará continuamente todas las instrucciones contenidas dentro de las llaves, inmediatamente después de la while(1). Si hay no hay llaves, el tiempo bucle sólo ejecutaría la primera instrucción después de while(1) una y otra vez. Preste atención a estas llaves. cada vez que hay un soporte rizado abierto ' {', debe haber un refuerzo rizado cierre'} ' asociado. Si falta un refuerzo muy rizado, el compilador buscar el siguiente soporte rizado cercano que encuentre y ejecute todo entre los dos como un bloque... Dejando a uno de éstos hacia fuera es una buena manera de encontrar pasar tiempo rascándose la cabeza intentando averiguar su programa no por qué crees que debe!
while(1) {thisishowthecompilerseeswhatyoutype; it'shardforapersontoread, butthecompilerlikesit;}
Que era difícil de leer ¿no? Por eso la while(1) y sus asociados llaves son fichas sobre a la derecha. Cuando las llaves y el bloque que contienen son fichas encima, es mucho más fácil identificar el código como un bloque. Este formato no hace nada para el compilador; es sólo hacer el código más fácil para los seres humanos a leer. Usted puede poner espacios adicionales, tabuladores y saltos de línea que desee; son invisibles para el compilador. Es una buena costumbre dar formato a su código de esta manera y añadir un montón de comentarios. Un año a partir de ahora nunca recordará lo que estabas pensando cuando escribiste esa nueva función, y el formato o comentarios ayudarán a traer de vuelta a la velocidad más rápida.
Ahora estamos listos para comenzar a añadir su código al programa. En el siguiente paso veremos el código terminado en secciones para hacer entenderlo más fácil posible.