Hallo
$crystal = 16000000 'Die Frequenz des verwendeten Quarzes
Der RP6 hat einen 8MHz-Takt.
Du kannst auch den Loader als Terminal verwenden. Er kennt zwei Geschwindigkeiten, 500 kBaud zum Übertragen der Daten und 38,4kBaud für die Komunikation:
#ifndef F_CPU
#define F_CPU 8000000 //Base: 8.00MHz - DO NOT CHANGE!
#endif
...
/************************************************** ***************************/
// Baudrates:
#define BAUD_LOW 38400 //Low speed - 38.4 kBaud
#define UBRR_BAUD_LOW ((F_CPU/(16*BAUD_LOW))-1)
#define BAUD_HIGH 500000 //High speed - 500 kBaud
#define UBRR_BAUD_HIGH ((F_CPU/(16*BAUD_HIGH))-1)
#endif
(Aus RP6RobotBase.h)
In meiner abgespeckten Lib initialisiere ich den UART so (aus der Init() der RP6-Lib):
Code:
// UART:
UBRRH = UBRR_BAUD_LOW >> 8; // Setup UART: Baudrate is Low Speed
UBRRL = (uint8_t) UBRR_BAUD_LOW;
UCSRA = 0x00;
UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);
UCSRB = (1 << TXEN) | (1 << RXEN) | (1 << RXCIE);
Gruß
mic
Lesezeichen