Re: Serial communication of ATMega128



"sindhu" <scinthia_245@xxxxxxxxxxxxxx> wrote in message
news:1170226154.395263.68070@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Hi all,
Iam working on Atmega128 and STK500.Iam new to this.
I need to transmit a character from controller.I have given the code
below.

#include"iom128v.h"
#include "io.h"

unsigned char data;
unsigned int baud;
unsigned int i;
int transmit(unsigned char);

void USART0_Init( unsigned int baud)
{
UBRR0H=0x96;
UBRR0L=0x00;
UCSR0B=0x08;
UCSR0C=0x06;
}
int transmit(unsigned char data)
{
PORTA=0x41;
DDRA=0xFF;
loop_until_bit_is_set(UCSR0A,UDRE);
UDR0=data;
return 0;
}
int main(void)
{
SREG=0x80;
SPL=0x61;
SPH=0x00;
USART0_Init(9600);
transmit('A');
return 0;
}
This code is working.PORTA outputs 41.Hyperterminal is not showing
character A.
Can anyone point out the mistake?

Bye.

1) Are you sure you are outputting what you think? Look at the output on
an oscilloscope - check the baud rate, number of stops and the parity
(if used).

2) Are you sure hyperterminal is set up correctly with the right stop,
start, baud etc? You are better off with Teraterm (free to download)
because Hyperterminal is buggy.

3) Are you remembering to use an RS-232 level shifter and are not trying
to drive the PC serial port with 5V and 0V?

4) Are you certain you have checked 1) and 2) as they are by far the
most likely.


.



Relevant Pages

  • Re: Serial communication of ATMega128
    ... I need to transmit a character from controller.I have given the code ... unsigned int baud; ... void USART0_Init(unsigned int baud) ... int transmit(unsigned char data) ...
    (comp.arch.embedded)
  • Serial communication of ATMega128
    ... I need to transmit a character from controller.I have given the code ... unsigned int baud; ... void USART0_Init(unsigned int baud) ... int transmit(unsigned char data) ...
    (comp.arch.embedded)
  • Re: scanf pushes back two chars?
    ... > unsigned int i; ... The subject sequence is defined as the longest initial subsequence ... character, that is of the expected form. ... The longest subsequence of the expected form is '0', ...
    (comp.lang.c)
  • [PATCH] Add support for non-standard XTALs to 16c950 driver
    ... prescaler for division by 7, and DLAB to 1, to get 115200Bd. ... To get card properly running you also have to add lines below to ... -static unsigned int serial8250_get_divisor(struct uart_port *port, unsigned int baud) ...
    (Linux-Kernel)
  • Re: detab utility challenge.
    ... on the clc wiki, which does character ... Possibly (though you could use unsigned int, ... Oh horror of horrors!) ...
    (comp.lang.c)