Hallo,
Ich benutze ein 8MHz crystal mit zwei 22pF condensoren.
Aber mein program funktioniert nicht.
Es funktioniert gut mit dem 16 MHz external clock:
CKSEL 3...0: 0000
SUT1...0:00
#define FOSC 16000000
Ich benutze auch ein internal Timer. Die program muss e
TCCR1B|=(1<<CS12); //Prescaling: /256
TCCR1B|=(1<<WGM12); //Mode of operation CTC: Top OCR1A
#if (FOSC==16000000)
OCR1A=62500; //So many increments for 1 second
// 16uS (microSeconds) for 1bit increment: When TCNT1
//reaches this value it is reset to 0.
// when F_OSC = 16MHz --> 1 round = 0.0000000625 s
#elif (FOSC==8000000)
OCR1A=31250; //So many increments for 1 second
//32uS (microSeconds) for 1bit increment: When TCNT1
//reaches this value it is reset to 0.
// when F_OSC = 8MHz --> 1 round = 0.000000125 s
#endif
Bitte helfen
Karthik
[quote] #define FOSC 16000000 [/quote] Was meinst du, was FOSC heißt...
FOSC ist die Clock speed:
#define FOSC 16000000// Clock Speed
#define BAUD 19200
#define MYUBRR FOSC/16/BAUD-1
void Uart_Init(unsigned int ubrr)
{
/* Set baud rate */
UBRRH = (unsigned char)(ubrr>>8);
UBRRL = (unsigned char)ubrr;
/* Enable receiver and transmitter */
UCSRB = (1<<RXEN)|(1<<TXEN);
/* Set frame format: 8data, 2stop bit */
UCSRC = (1<<URSEL)|(1<<USBS)|(3<<UCSZ0);
}
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.