Forum: Mikrocontroller und Digitale Elektronik RS232 & STK600


von Hendrik (Gast)


Lesenswert?

Hi!

Ich hab mir vor kurzem das STK600 zugelegt um mich ein wenig in die 
Programmierung von Microcontrollern einzuarbeiten. Funktioniert auch 
ganz gut. Jetzt wollte ich die RS232 Schnittstelle dazu benutzten Daten 
an den PC zu schicken, nur bekomme ich das nicht zum laufen. Hab den 
ATmega2560 Kontroller, der beim STK600 dabei war, mit folgendem Programm 
bespielt:

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

#define FCPU 3993574UL
#define BAUD 9600UL
#define UBRR_VAL ((FCPU/(BAUD*16UL))-1)


void USART_Init( unsigned int ubrr){

  UBRR0H = (unsigned char)(ubrr>>8);
  UBRR0L = (unsigned char)ubrr;

  UCSR0A = (1<<RXEN0)|(1<<TXEN0);

  UCSR0C = (1<<USBS0)|(3<<UCSZ00);
}


void USART_Transmit( unsigned char data )
{
  while ( !( UCSR0A & (1<<UDRE0)) )
  ;
  UDR0 = data;
}

int main( void )
{
    USART_Init(UBRR_VAL);
  while(1){
    USART_Transmit('a');
  }

  return 0;
}


Leider passiert in minicom/kermit auf dem PC rein garnichts. Bin mir 
auch nicht ganz sicher, ob das überhaupt funktioniert, da am PC-Kabel 
-12V anliegen und am RS232-Port vom STK500 nur ca -5.8 V. Kann mir 
vielleicht jemand einen Tipp geben, was ich falsch mache?

Hendrik

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.