Cronógrafo de AVR desde el concepto de PCB (5 / 13 paso)

Paso 5: Introducción al estudio de ATMEL IDE

Es el momento de volver a estudio de ATMEL y crear el proyecto.  Que escribiendo el programa en C.  Si no sabes nada de C sin embargo, eso es aceptable.  Usted puede copiar el código, o hará disponible para descargar si quieres tomar el camino fácil.  También explicaré el código en secciones similares a lo que explicó el esquema.  Además, "C de programación para microcontroladores" es un recurso excelente para principiantes aprender a programa de AVRs.  El PDF puede descargarse aquí: http://www.4shared.com/office/2y4F0nMo/c_programming_for_microcontrol.html

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.

Artículos Relacionados

Estación de Audio y cronógrafo Steampunk

Estación de Audio y cronógrafo Steampunk

gracias a todos de sus diseños muy creativos y proyectos, todos ustedes me han inspirado a crear mi propio Steampunk Audio y estación de cronógrafo.  Este proyecto me llevó WAAAY más tiempo del previsto y pasó a manera de presupuesto, pero una vez ca
Cronógrafo para cañón de aire

Cronógrafo para cañón de aire

Cronógrafo consiste de un sensor montaje y temporizador de caja que puede utilizarse para medir la velocidad del bozal de un proyectil disparado desde un cañón de aire.Había construido esta configuración para el uso con un cañón de aire grande con un
Paintball/balísticos Cronógrafo

Paintball/balísticos Cronógrafo

crear un cronógrafo de Paintball bajo costo menos de $ 40!Un cronógrafo balístico es un dispositivo que registra la velocidad de un proyectil. Este cronógrafo particular que he hecho ha sido probado solamente con una pistola de paintball y es relativ
Airsoft o pistola de aire (u otro proyectil lanza dispositivo) Cronógrafo utilizando un micrófono

Airsoft o pistola de aire (u otro proyectil lanza dispositivo) Cronógrafo utilizando un micrófono

mi primera crítica Instructable, constructivo Bienvenido.Si tienes un rifle o cualquier otro dispositivo de disparo del proyectil que usted necesita o quiere Cronógrafo las opciones son bastante limitadas. Puede encontrar una persona que tiene un cro
ATtiny Cronógrafo

ATtiny Cronógrafo

Hice un cañón de aire el verano pasado, y aunque 's diversión para disparar dardos nerf a velocidades inane durante horas, es un poco difícil de cuantificar exactamente a qué velocidad "realmente maldita ' rápido" sin una cámara de alta velocida
Cómo utilizar mi método de cronógrafo a ROF

Cómo utilizar mi método de cronógrafo a ROF

si no lees mi método chronographing leerla { antes de continuar.En este instructable mostrará usted cómo adaptar el método de chronographing para dar aproximado velocidad de disparo de un rifle automático.Se necesita:1. una pistola de airsoft2. una c
Pobre hombre Cronógrafo airsoft.

Pobre hombre Cronógrafo airsoft.

Si usted cada airsoft jugado en un campo, o incluso con cuidado amigos saben la importancia de tener una pistola que dispara a un nivel adecuado de FPS (pies por segundo). Hoy voy a mostrar cómo hacer un FPS áspero de la lectura de una lata de soda.P
Perfiles de forma de cuchillo, desde el concepto hasta la ejecución.

Perfiles de forma de cuchillo, desde el concepto hasta la ejecución.

Un knifemaker, tanto si eres un primero temporizador o un veterano, una de las habilidades más básicas que necesita para desarrollar es hoja de perfiles. Esencialmente, que cantidades para el desarrollo de la hoja básica forma eventualmente será su c
Cacatúa loro Tutorial de máscara de cuero: Desde concepto hasta finalización

Cacatúa loro Tutorial de máscara de cuero: Desde concepto hasta finalización

Hola, mi nombre es Chelsea y este es mi segundo Instructable publicado.En este Instructable, yo se ser caminando a través de los pasos de hacer una máscara de cuero de calidad premium; desde el concepto del diseño y la compra inicial de la piel hasta
¿Una guía completa de arranque AVRs

¿Una guía completa de arranque AVRs

has jugado con Arduino y ahora tienen un gusto por microcontroladores?¿Han intentado ir más allá de Arduino pero tiene parada por la pajina densa?Este es el instructivo para usted!Estaba trabajando en un instructivo para el concurso de epilog que vin
Desde la IDEA hasta la producción - Cryptex

Desde la IDEA hasta la producción - Cryptex

Este Instructable es ilustrar el proceso de tomar un concepto a través de diseño y prototipos hasta producción Inicio en pequeña escala. Hemos elegido un Cryptex para ilustrar este proceso. Ya hay varios diseños de Cryptex en este sitio, pero queremo
Programador universal para de AVR y S51 y ZIF socket!

Programador universal para de AVR y S51 y ZIF socket!

Este programador ha sido diseñado por la empresa y se ha producido al menos 2500PCS de esto y es absolutamente probado y normas y ahora no fabricar más esta versión, aquí es el producto de enlace (lo siento persa sólo estaba disponible)Programador un
Montando el jinete de dragón 500 para uso con el dragón del AVR

Montando el jinete de dragón 500 para uso con el dragón del AVR

no hace mucho tiempo la empresa Atmel salió con una gran herramienta para el uso con la línea AVR de microcontroladores llamado el dragón del AVR. Este pequeño dispositivo USB proporciona a profesionales y aficionados por igual la capacidad para util
Cómo empezar con Eclipse y AVR

Cómo empezar con Eclipse y AVR

programación de AVRs es divertido, pero a veces los entornos de desarrollo de fabricantes hacen mantenimiento de código una tarea. Si buscas un gratis, cruz plataforma, pieza de alta calidad de software para la programación de AVRs Eclipse es una bue