Forum: Mikrocontroller und Digitale Elektronik usart per adapter


von benni (Gast)


Lesenswert?

hallo, ich versuche über usart meinem pc einfach ein zeichen zu senden.
ich mache das mit dem stk500 (atmega8515) und über einen usb->rs232 
adapter.
doch nichts passiert (ich benutze hterm) ;(

kabel von rxd /txd sind verlegt, baudraten sind beiderseits gleich 
eingestellt (9600 asynchron 8N1)..

hier der code:

[c]
#define F_CPU 1000000UL
#define BAUD 9600

#include <avr/io.h>
#include <inttypes.h>
#include <avr/interrupt.h>
#include <util/setbaud.h>
#include <util/delay.h>

void init_USART ()
{
  UCSRB |= (1<<RXEN) | (1<<TXEN);  //send und recieve anschalten
  UCSRC |= (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0); //Asynchron 8N1
  UBRRH |= UBRRH_VALUE;  //Baudrate durch "setbaud.h" bestimmen
  UBRRL |= UBRRL_VALUE;
}

void USART_Transmit( unsigned char data )
{
/* Wait for empty transmit buffer */
while ( !( UCSRA & (1<<UDRE)) )
;
/* Put data into buffer, sends the data */
UDR = data;
}

unsigned char USART_Receive( void )
{
/* Wait for data to be received */
while ( !(UCSRA & (1<<RXC)) )
;
/* Get and return received data from buffer */
return UDR;
}

void USART_Flush( void )
{
unsigned char dummy;
while ( UCSRA & (1<<RXC) ) dummy = UDR;
}

int main ()
{
  init_USART();
  USART_Flush();
  unsigned char test = 'a';

  while (1)
  {
  USART_Transmit (test);
  _delay_ms(1000);
  }
return 0;
}
[c]

danke für jede hilfe

von benni (Gast)


Lesenswert?

keiner ne idee ;(

von benni (Gast)


Lesenswert?

ok fehler gefunden..

txd als vergessen als output zu schalten. und ein pin falsch 
angeschlossen..

von spess53 (Gast)


Lesenswert?

Hi

>ok fehler gefunden.
>txd als vergessen als output zu schalten.

Ist kein Fehler. Datenblatt:

• TXD – Port D, Bit 1
TXD, Transmit Data (Data output pin for the USART). When the USART
Transmitter is enabled, this pin is configured as an output regardless 
of
the value of DDD1.

MfG Spess

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
Noch kein Account? Hier anmelden.