-
Notifications
You must be signed in to change notification settings - Fork 69
Description
Thu 05 Mar 2009 05:21:09 PM CET
I noticed that util/setbaud.h cannot calculate baudrate for sync mode.
I did the following modification to the file. I doubt it will it the
next release, but I do beleive it is a good thing to have.
Basic explanation:
if BAUD_SYNC is define and equal to 1, a modified macro is use to
calculate baud rate.
If BAUD_SYNC is define and equal to 0 or not define, macro works as before.
Modification should not break code that use the current version of setbaud.h.
Usage could be:
#include <avr/io.h>
#define F_CPU 4000000
static void uart_9600(void)
{
#define BAUD_SYNC 1
#define BAUD 9600
Device specific declaration
#define XCK_DDR DDRB//For ATmega16A
#define XCK_DDx DDB0
#include <util/setbaud.h>
UBRRH = UBRRH_VALUE;
UBRRL = UBRRL_VALUE;
UCSRC = _BV(1<<UMSEL);
Configure as clock source
XCK_DDR |= _BV(1<<XCK_DDx);
}
This issue was migrated from https://savannah.nongnu.org/patch/?6768