Hi Rick,

A couple of possibilities:

Besides defaulting to 8MHz, the factory default 'divide by 8' is set, so
unless you set the fuses, the part is running at 1MHz.

At 8MHz, the best baud rate accuracy you can get is -3.5% on 2x operaion,
which is very marginal to say the least.  Also, the 8MHz internal oscillator
will not be exact, and may be off 1.5% give or take.

Your best bet without any fuse changes would be to set the Baud rate to 4800
or less.  If you change the fuses to run at 8MHz, the stay at 38,600 Baud or
less.

Bill Rochat
R&R Technologies, Inc.

On Wed, Jan 5, 2011 at 11:41 PM, Rick Mann <[email protected]> wrote:

> Hrm, I had the ATmega32A working just fine. But on the 644A I can't seem to
> pin down the baud rate (or something else is wrong). According to the docs,
> the '644A defaults to internal RC at 8 MHz. So, I've tried a number of
> variations of settings, with U2X0 set and clear. Here's the latest:
>
> #define F_CPU                   8000000UL
> #define UART_BAUD               115200
>
> {
>    UBRR0 = 8;  //  3;  //  (F_CPU / (16UL * UART_BAUD)) - 1;
>    UCSR0A = 0 << U2X0;
>    UCSR0B =      1 << RXEN0
>                | 1 << TXEN0
>                | 1 << RXCIE0;
>    UCSR0C =      0x0 << UMSEL00        //  Async USART
>                | 0x0 << UPM00          //  No parity
>                | 0 << USBS0            //  1 stop bit
>                | 0x3 << UCSZ00;        //  8-bit
> }
>
>
> But I get varying forms of gibberish characteristic of baud rate
> mismatches.
>
> Any suggestions?
>
> TIA,
> Rick
>
>
> _______________________________________________
> AVR-chat mailing list
> [email protected]
> http://lists.nongnu.org/mailman/listinfo/avr-chat
>
_______________________________________________
AVR-chat mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/avr-chat

Reply via email to