Position actuelle:Index> AVR: Watchdog como interrupción temporizada

AVR: Watchdog como interrupción temporizada

July 19     Views(3)

Advertisement

AVR: Watchdog como interrupción temporizada

En este tutorial estoy usando un microcontrolador Attiny85 y quiero que un LED parpadee en aproximadamente 1 segundo de intervalo.

Por lo general, con Arduino y otros tutoriales de parpadeo, sólo tiene que utilizar un retardo de 1 segundo o 1000 milisegundos para activarlo y desactivarlo. En este tutorial vamos a utilizar una función especial de la MCU que rara vez recibe la atención que merece.

El reloj
Ahora que dejar que el perro fuera que podría decir, y me río .. jaja ..

El perro guardián se utiliza normalmente como una medida de seguridad, ya que si la MCU está en un lugar inalcanzable y se cuelga por alguna razón, no tiene forma de restablecerlo y volver a funcionar. Así que el watchdog es una parte casi separada de la MCU, tiene un reloj propio (normalmente un circuito RC) y un prescaler de este reloj, ahora lo que no tiene es una comparación de temporizador o una manera de establecer un preciso sincronización. Sólo está el desbordamiento.

Ahora para un ATtiny85 hay 10 diferentes ajustes de prescaling para usar, de 16ms a 8 segundos (ver hoja de datos p.46 para más detalles). Normalmente, el watchdog se utiliza para restablecer la MCU, pero también se puede configurar para ejecutar una interrupción.

Primero, comencemos con la configuración del watchdog.

  // Deshabilita todas las interrupciones cli ();  / * Borrar registro de estado de MCU.  Realmente no necesitamos aquí ya que no necesitamos saber por qué el MCU se restableció.  Página 44 de la hoja de datos * / MCUSR = 0;  / * Deshabilitar y borrar todos los ajustes de Watchdog.  Agradable obtener una pizarra limpia cuando se trata de interrupciones * / WDTCR = (1 << WDCE) | (1 << WDE); WDTCR = 0;  // Setup Watchdog para interrupción y no reset, y un tiempo de espera de aproximadamente 500ms P.45WDTCR = (1 << WDIE) |  (1 << WDP2) |  (1 << WDP0);  // Habilitar todas las interrupciones.sei (); 

Esta es la forma segura de configurarlo, la razón por la que hacemos un poco de "limpieza" en el principio es asegurarse de que obtendremos lo que queremos. Estático y quién sabe qué puede estropear un MCU por lo que es una buena cosa para hacerlo bien, si usted no quiere estar seguro, todo lo que necesita es esta línea

  WDTCR = (1 << WDIE) |  (1 << WDP2) |  (1 << WDP1); 

Ahora tenemos el perro guardián creado y no hacer nada, bueno, no realmente, como el perro guardián es una medida de seguridad que tiene algunos movimientos intrincados. En este caso, le estamos diciendo que ejecute un ISR cada 500ms (aproximadamente), pero no hemos hecho un ISR para ello todavía, y como he dicho esta función tienen algunas formas complejas de funcionamiento, así que cuando el ISR se ejecuta, el perro guardián automáticamente ¡Cambia del modo de interrupción al modo de reajuste !!!!
A menos que el modo de interrupción se vuelva a habilitar en el ISR.

Así que, hagamos un ISR blinky

  ISR (WDT_vect) {// Voltea el bit 3 de PORTB PORTB ^ = (1 << 3);  / * ReEnable la alarma watchdog, ya que esto se restablece al entrar en este ISR y automáticamente activa la señal WDE que restablece la MCU la próxima vez que el temporizador se desborda * / WDTCR | = (1 << WDIE);  } 

Ahora tenemos un ISR que enciende y apaga el LED que ha conectado a PORTB3 cada 1/2 segundo y vuelve a habilitar la interrupción.
¿No fue fácil?

Aquí está el archivo completo de MrBlinky c.

Tags: Microcontr
Lecture connexe:
  • AVR: Watchdog como interrupción temporizadaViews(3)

    July 19

    AVR: Watchdog como interrupción temporizada
    En este tutorial estoy usando un microcontrolador Attiny85 y quiero que un LED parpadee en aproximadamente 1 segundo de intervalo. Por lo general, con Arduino y otros tutoriales de parpadeo, sólo tiene que utilizar un retardo de 1 segundo o 1000 mili
  • Una guía de arranque completa para AVRsViews(0)

    March 2

    Una guía de arranque completa para AVRs
    ¿Has jugado con Arduino y ahora tienes un gusto por los microcontroladores? ¿Ha intentado ir más allá de Arduino pero se ha detenido por las densas hojas de datos? Este es el instructable para usted! Yo estaba trabajando en un instructable para el co
  • AVR Cronógrafo de concepto a PCBViews(2)

    December 25

    AVR Cronógrafo de concepto a PCB
    Un cronógrafo es un dispositivo utilizado para medir la velocidad de un objeto que pasa. En su forma más simple, se trata de dos sensores de algún tipo que "ver" el objeto, algún dispositivo que puede medir el tiempo, y algunos de salida para en
  • Una funda protectora para el Atmel AVR DragonViews(2)

    January 20

    Una funda protectora para el Atmel AVR Dragon
    Este instructable le mostrará cómo modificar fácilmente una caja de plástico disponible fácilmente para sostener y proteger su AVR Dragon PCB. Atmel promueve su AVR Dragon como una herramienta de bajo costo de desarrollo de productos para su uso con
  • Cómo hacer un tablero barato de Attiny ArduinoViews(2)

    December 14

    Cómo hacer un tablero barato de Attiny Arduino
    Bueno, la mayor parte del tiempo me molestan cuando necesito Arduino en algunos proyectos donde necesito pocos pins de E / S Gracias a la plataforma Arduino-Tiny El programa de Arduino se puede quemar en la serie Avr-tiny como Attiny 85/45 Arduino-Ti
  • Conexión de Nokia 3310 LCD a USB mediante AVRViews(2)

    February 3

    Conexión de Nokia 3310 LCD a USB mediante AVR
    ¿Qué haces con un teléfono antiguo, un microcontrolador y mucho tiempo? Usted engancha la pantalla LCD del viejo teléfono a la computadora USB por supuesto! En este proyecto vamos a comunicar con una pantalla LCD de Nokia 3310 a través de USB! ¿Cómo
  • Cubo LED 8x8x8Views(116)

    November 18

    Cubo LED 8x8x8
    ¡Cree su propia pantalla tridimensional de 8x8x8 LED Cube! Creemos que este Instructable es la guía paso a paso más completa para construir un cubo de 8x8x8 LED ya publicado en los intertubes. Le enseñará todo, desde la teoría de la operación, cómo c
  • RC helicóptero QuadrotorViews(1)

    April 11

    RC helicóptero Quadrotor
    Este proyecto es un helicóptero quadrotor RC (quadrocopter, quadcopter, quadricopter, etc). Es un helicóptero RC que usa 4 rotores. Míralo en 720p Necesitas algunas habilidades pre-requisito: Cómo usar Arduino, lo suficiente para empezar Soldadura, c
  • Reloj de bolsillo LEDViews(6)

    April 23

    Reloj de bolsillo LED
    Este es un reloj de bolsillo LED. Tiene 12 LEDs para mostrar la hora, 60 LEDs para mostrar el minuto, y 60 LEDs para mostrar el segundo. Los LED están dispuestos en tres anillos. Hay un botón en la parte superior para activar el reloj de bolsillo, y
  • RTC Breakout para DS1339 en Arduino - bajo costo, batería de respaldo, 2 alarmasViews(1)

    June 3

    RTC Breakout para DS1339 en Arduino - bajo costo, batería de respaldo, 2 alarmas
    El RTC más popular para el Arduino es el DS1307, vendido por Adafruit, Sparkfun, y otros. Sin embargo, tiene algunos inconvenientes, el más notable de los cuales es que su voltaje de funcionamiento es de 5v, lo que significa que no podía usarlo con m
  • Obturador Mecánico InalámbricoViews(1)

    June 26

    Obturador Mecánico Inalámbrico
    Editar (29.03.2014): La primera vez que envió este instructible a principios de este mes que no describo lo que iba a ser el uso de esta plataforma a favor o en donde mis requisitos se obtuvieron a partir, pero ahora que he conseguido un poco de pelí
  • Convierte tu Arduino Uno en un USB-HID-MidideviceViews(7)

    February 26

    Convierte tu Arduino Uno en un USB-HID-Mididevice
    Mientras construía un controlador MIDI basado en Arduino Uno para Ableton Live, me encontré con el proyecto HIDUINO (http://code.google.com/p/hiduino/). Le permite convertir su Arduino Uno (o cualquier otro dispositivo usando un chipset AVR-USB como
  • Múltiples LEDs parpadeantes a diferentes velocidadesViews(0)

    June 10

    Múltiples LEDs parpadeantes a diferentes velocidades
    En este tutorial voy a mostrar cómo a parpadear múltiples LED a un ritmo diferente en Arduino-como tableros utilizando Zerynth . El parpadeo de un LED se conoce como el "Hello World de dispositivos incrustados" ... pero con Zerynth podemos hacer
  • Contador de agua + Arduino = Aquameterduino!Views(36)

    July 3

    Contador de agua + Arduino = Aquameterduino!
    Después de un mal daño de agua (nuestra bodega básicamente lleno mientras estábamos fuera por varios días), decidí monitorear nuestro uso de agua para anomalías. Entra en Arduino ... La idea de este proyecto es usar un arduino para contar cada gota d
  • Control remoto de medios DIYViews(0)

    November 24

    Control remoto de medios DIY
    Hola a todos. En mi instructable anterior, creé un teclado de HID ir que podría convertir señales de cualquier control remoto a comandos HID. Así que pensé que debía hacer un accesorio remoto también. Sé que algunos de ustedes pueden pensar "¿por qué
  • Órgano de bombilla antiguo - MIDI / OSC controladoViews(2)

    November 28

    Órgano de bombilla antiguo - MIDI / OSC controlado
    ¡Cree su propio órgano antiguo de la bombilla para agregar el ambiente nostálgico a cualquier instrumento de Midi! 12 bombillas corresponden a las 12 notas en una octava (menos la nota de octava). La caja rectangular se despliega para colocar las bom
  • Monitor de Cuidado Anciano (Intel IoT)Views(2)

    March 2

    Monitor de Cuidado Anciano (Intel IoT)
    Visión de conjunto Este es un Instructable para un dispositivo de monitoreo y alerta para alguien como una persona anciana que puede estar sola por momentos durante el día o la noche y que puede estar en riesgo de caerse o puede requerir alguna ayuda
  • Inversor Simple. CC 12v a la CA 220v.Views(0)

    July 5

    Inversor Simple.  CC 12v a la CA 220v.
    La electricidad es importante para nosotros. Pero a veces necesitamos electricidad en emergencia, como interrupciones de energía, emergencias, acampando, etc. Con este inversor, podemos utilizar la batería del coche / de la motocicleta. Esto puede au
  • RGB LED de pelota de tenisViews(0)

    July 19

    RGB LED de pelota de tenis
    Un día, yo estaba buscando en los instructables de proyectos para hacer y vi la bola de tenis láser instructable por alguien. Leí el instructable y estaba interesado en construir uno para mí. Revisé la lista de piezas y descubrí que el costo de las p
  • Haga un Staples Easy Button (tm) Controle su computadoraViews(0)

    September 10

    Haga un Staples Easy Button (tm) Controle su computadora
    Este proyecto está inspirado en varios hacks de Easy Button creativos que he visto en Instructables. Este es un poco más barato que los otros. No es inalámbrico, ni un programa de juegos, y tiene un poco más de trabajo, pero te va a ir rápido :-) Pas
Week Hits
  • 1Cómo hacer la jalea de coque Awesomest!
    Cómo hacer la jalea de coque Awesomest!
    En este instructable te mostraré cómo hacer comestible cualquier bebida que te gusta: Coca Cola, Pepsi, Sprite, Fanta y más. Paso 1: Es bastante simple. Vierta en una cacerola de 150 ml de agua y agregue 30 gramos de gelatina. Yo uso el Dr. Oetker Ge
  • 2Trabajar con vidrio por primera vez
    Trabajar con vidrio por primera vez
    Explorar nuevos materiales es una de las cosas más divertidas pero también aterradoras que puedes hacer como creador. Si usted ha explorado el mundo de la carpintería, el metal y el plástico usted puede ser que tenga curiosidad cuál está hacia fuera
  • 3Cucharones / Atributos de excavación
    Cucharones / Atributos de excavación
    El cubo de excavación fue el producto de un proyecto de diseño basado en un enganche rápido y un cucharón para una excavadora EX130 de Hitachi. Mientras que la cuchara y el enganche rápido se diseñó parte por parte para la fabricación de la excavador
  • 4Tarta de Bambi
    Tarta de Bambi
    ¡Hola Instructables! Esta es mi entrada a la Serious Eats Día Pi Pie concurso. Mi Pie Bambi es un pastel de carne de venado, con una costra de huevo decorado con pinturas blancas. Este Instructable le mostrará cómo hacer este pastel. ¡Por favor, vote
  • 5Baby Jeggings
    Baby Jeggings
    Estaba viendo los restos en la tienda de tela cuando encontré una mezcla de mezclilla / spandex que sabía que tenía que ser transformado en algo fabuloso: jeggings bebé! Si nunca has oído hablar de ellos, jeggings son simplemente leggings que están h
  • 6Reparar el ratón con doble clic
    Reparar el ratón con doble clic
    Tengo un ratón láser inalámbrico de Logitech y después de un año o así de uso, el botón de clic izquierdo haría doble clic cada vez que traté de hacer clic en algo. Como se puede imaginar, esto se frustra muy rápido. Así que, siendo el tinkerer que s
  • 7Mortaja y espiga de acero
    Mortaja y espiga de acero
    Smith sucio que demuestra la carpintería de una junta de mortaja y espiga de metal. Usando el giro del cubo del tutorial anterior de DirtySmith, forjé algunas espigas y filmé el ensamblaje de esta tracción de puerta utilizando el concepto de técnica
  • 8La caja de Burger de cartón corrugado
    La caja de Burger de cartón corrugado
    Usted sabe la sensación, usted está en un festival, usted y sus amigos tienen hambre. Usted decide ir después de las hamburguesas, pero por supuesto usted no puede llevar ocho hamburguesas! Te mostraré cómo hacer una caja de burbujas carboard corruga
  • 9Más barato y más fácil Lámpara Gaslight
    Más barato y más fácil Lámpara Gaslight
    Esto es algo que llamé juntos para nuestra fiesta de Halloween - tomó unos cinco minutos, fue barato, fácil y se ve muy bien Paso 1: Piezas Primero lo primero: Suministros! - Lámpara de jardín con carga solar - Tubería de PVC (cortada a la altura des
  • 10Compota de Manzana Fácil de 5 Ingredientes
    Compota de Manzana Fácil de 5 Ingredientes
    Esta compota de manzana es tan deliciosa y tan simple que nunca vas a comprar manzana de la tienda de nuevo! Receta: 3 manzanas 2 cucharadas de jugo de limón 1 cucharada de extracto de vainilla 1 cucharada de canela molida. Direcciones completas y co
  • 11Palacio de paletas para cabras
    Palacio de paletas para cabras
    Nos ofrecieron algunos cabritos de bebé por una organización de rescate local (Battery Hen Rescue NZ) así que pensé que era mejor construir una pequeña casa! Estas niñas pobres son sólo un día de edad por lo que no va a salir por un tiempo. Las cabra
  • 12Cuero
    Cuero
    Hola mi nombre es James, he estado trabajando en el cuero por un tiempo y pensé ya que no hay mucho de artesanías de cuero hasta pensé que añadir algunos hasta. Esto aquí es un práctico de costa de cuero que he hecho y le mostrará cómo hacer. Este pr
  • 13Refinishing a Table Tabla de comedor de Roland & Alyssa
    Refinishing a Table Tabla de comedor de Roland & Alyssa
    Originalmente la mesa vino con mucho desgaste y negligencia. Era totalmente desigual, abollada por todas partes, parte de ella estaba quemada, estaba secándose hasta el punto en que las juntas se soltaban con una grieta casi. El proceso se realiza en
  • 14Cosas divertidas que hacer con palos de brillo!
    Cosas divertidas que hacer con palos de brillo!
    Paso 1: Bienvenido a casa! Bend resplandor se pega a las palabras "Bienvenido a casa!"
  • 15Hoja de sierra hecha a medida con plástico moldeable
    Hoja de sierra hecha a medida con plástico moldeable
    Para este Intractable, me dirigí a mi papá para la inspiración y la aplicación. La semana pasada compré un poco de plástico moldeable InstaMorph en Amazon y he estado buscando cosas para hacer con ella. Hice un par de cosas de arte funcional lindo co
  • 16Arco fácil de hacer
    Arco fácil de hacer
    Lo siento por las imágenes pero no tengo cvamera o web cam Paso 1: paso uno hecho esto
  • 17Tomate Focaccia
  • 18COCINERO LENTO DE LA CERVEZA DE LA RAIZ
    COCINERO LENTO DE LA CERVEZA DE LA RAIZ
    Correderas de cerveza Lomo de cerdo de 2 lb, reducido a la mitad 1 lata (s) de raíz de cerveza 2 cucharadas de humo líquido 1 cucharada de sal condimentada Salsa de barbacoa de cerveza de raíz 3 lata (s) de cerveza de raíz 1/4 c de azúcar 1 botella d
  • 19Torta de tren de amor de San Valentín
    Torta de tren de amor de San Valentín
    Para el día de San Valentín este año mi amigo y yo hicimos un pastel en forma de tren! Esto también funcionaría maravillosamente para un tren de Navidad, o cualquier otra ocasión donde un azúcar cubierto, tren comestible en miniatura era la cosa apro
  • 20Altavoz casco mod
    Altavoz casco mod
    Montar su motocicleta de la bici del scooter u otros paseos que requieren un casco pueden conseguir aburridos en esos viajes largos o cruceros. La música puede ayudar a esto. Pero ¿qué pasa si te olvidas de tus auriculares? Aquí es un mod simple que