Olá galera,
adaptei este código para um trabalho que estou a fazer em Arduino Uno. Preciso de fazer outra coisa parecida, mas preciso de outro timer? Como posso usar o Timer2?
#include "TimerOne.h"
void setup() {
pinMode(10, OUTPUT);
Timer1.initialize(1000000);
Timer1.pwm(9, 512);
Timer1.attachInterrupt(callback);
}
void callback() {
digitalWrite(10, digitalRead(10) ^ 1);
}
void loop() { // your program here... }
Tags:
Oi DB, boa tarde.
O Atmega328 tem 3 "timers".
O timer0 de 8 bits, o timer1 de 16 bits e o timer2 de 8 bits.
Peripheral Features
– Two 8-bit Timer/Counters with Separate Prescaler
– One 16-bit Timer/Counter with Separate Prescaler
Não conheço uma biblioteca para os timer0 e timer1.
Mas pode usa-los, fazendo você mesmo a programação deles.
O Atmega 2560 tem 2 de 8 bits e 4 de 16 bits
Peripheral Features
– Two 8-bit Timer/Counters with Separate Prescaler
– Four 16-bit Timer/Counter with Separate Prescaler
Rui
Dinis,
Não sei o que você precisa, mas fiz uma classe para controle de tasks através do millis(). Se não me engano millis() utiliza o Timer1.
Desculpe a curiosidade, por que você precisa de dois Timer ? É táo precisa assim sua aplicação ?
A diferença entre utilizar interrupt ou o millis() é ter de controlar o tempo você mesmo (com millis()). A interrupt irá dispárar a função callback() com mais precisão.
Mas pelo que eu entendi seu objetivo é trocar o estado de um led a um determinado intervalo de tempo, não é ?
Oi OC,
A função millis() reinica e provocar um erro de tempo a cada +-49 dias.
Rui
Huuummmmm.... que perereco hein !!!
Não sabia disso
O problema não é a função millis(), o problema é o arduino só usar números de até 32 bits. A função millis() reinicia porque chega no limite do inteiro longo e aí zera de novo.
Se quiser usar o timer2, acabo de disponibilizar uma classe na minha wiki que dá acesso ao timer2 de um jeito bem simples e fácil.
Mais detalhes em: Classe Timer2
Download: Bibliotecas para Arduino
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por