Ovaj program radi lepo, LED bljeska
Code:
#include <inttypes.h>
#include <avr/io.h>
int main()
{
DDRB |= (1 << PB2);
TCCR0B = ((1<<CS02) | (1<<CS00)); //prescaler 1/1024
while(1)
{
if (TCNT0 >= 250) {
PORTB ^= (1 << PB2);
TCNT0 = 0;
}
}
}
#include <inttypes.h>
#include <avr/io.h>
int main()
{
DDRB |= (1 << PB2);
TCCR0B = ((1<<CS02) | (1<<CS00)); //prescaler 1/1024
while(1)
{
if (TCNT0 >= 250) {
PORTB ^= (1 << PB2);
TCNT0 = 0;
}
}
}
A ovaj ne radi nikako, tj LED se ne pali
Code:
#include <inttypes.h>
#include <avr/io.h>
int main()
{
DDRB |= (1 << PB2);
TCCR1 = ((1<<CS13) | (1<<CS11) | (1<<CS10)); //prescaler 1/1024
while(1)
{
if (TCNT1 >= 250) {
PORTB ^= (1 << PB2);
TCNT1 = 0;
}
}
}
#include <inttypes.h>
#include <avr/io.h>
int main()
{
DDRB |= (1 << PB2);
TCCR1 = ((1<<CS13) | (1<<CS11) | (1<<CS10)); //prescaler 1/1024
while(1)
{
if (TCNT1 >= 250) {
PORTB ^= (1 << PB2);
TCNT1 = 0;
}
}
}
Mikrokontroler je konfigurisan da radi sa internim oscilatorom na 8 MHz. Fuse-ovi su 0xE2, 0xD7 i 0xFF. Propuštam li nešto u konfiguraciji tajmera 1 ?