Bom dia pessoal.
Estou precisando gerar um sinal de 1 MHZ por um dos pinos do arduíno Uno. Alguém sabe quais são os parâmetros corretos?
Encontrei esse código, mas ele gera 8MHZ:
/ For Atmega328
void setup ()
{
// set up 8 MHz timer on pin 9
pinMode (9, OUTPUT);
// set up Timer 1
TCCR1A = _BV (COM1A0); // toggle OC1A on Compare Match
TCCR1B = _BV(WGM12) | _BV(CS10); // CTC, no prescaling
OCR1A = 0; // output every cycle
}
void loop () {}
É para fazer uma recuperação de "Fuse Brick".
Obrigado.
Tags:
Amigo provavelmente você já tenha resolvido o problema, por conta da data do post.
Mais para aqueles que também como eu mexeram erroneamente nas configurações dos fuses do atmega segue a dica.
Garimpando pela internet achei o seguinte.
O código para gerar 1mhz é o seguinte.
//Use Timer/Counter1 to generate a 1MHz square wave on Arduino pin 9.
//J.Christensen 27Apr2012
void setup(void)
{
DDRB = _BV(DDB1); //set OC1A/PB1 as output (Arduino pin D9, DIP pin 15)
TCCR1A = _BV(COM1A0); //toggle OC1A on compare match
OCR1A = 7; //top value for counter
TCCR1B = _BV(WGM12) | _BV(CS10); //CTC mode, prescaler clock/1
}
void loop(void)
{
}
Com esse código você pode ligar o pino 9 do arduino que foi gravado o código no pino XTAL1 do atmega , que no caso é o pino 9.
Com essa montagem, você consegue recuperar o seu chip "morto" com seu gravador isp.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por