mikrocontroller.net

Forum: Compiler & IDEs Empfangen eines String


Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#ifndef F_CPU
#define F_CPU 16000000           
#endif

#define BAUD 19200UL //Baudrate 
#define UBRR_BAUD   ((F_CPU/(16UL*BAUD))-1)


#define length 10  //Textlänge ab welcher Empfangen beendet wird


void uart_init(void)
{
  UCSRB = (1<<RXEN)|(1<<TXEN);      // UART TX und RX einschalten    
    UCSRC |= ( 1 << URSEL )|( 3<<UCSZ0 );  // Asynchron 8N1
  //nur für 19200 Baud bei 16MHz für Mega32
    UBRRH  = 0;                             // Highbyte ist 0
    UBRRL  = 51;                            // Lowbyte ist 51
  
  //falls anderer Mega bzw andere Frequenz
  //UBRRH = (uint8_t) (UBRR_BAUD>>8);
    //UBRRL = (uint8_t) (UBRR_BAUD & 0x0ff);
} 

void uart_putc(unsigned char c)
{
    while (!(UCSRA & (1<<UDRE))) {}  // warten bis Senden möglich 
    UDR = c;                         // Zeichen senden   
}

uint8_t uart_getc(void)
{
    while (!(UCSRA & (1<<RXC))) {} // warten bis Zeichen verfügbar
    return UDR;                    // Zeichen aus UDR zurueckgeben
}


int main (void)
{
  uint8_t i;
  char c;
  char* s;
  char string[length+1];

  uart_init();
  
while(1)
{    
  
  s=string;
  i=0;

  do
  {
    c=uart_getc();    
    if (c!='\r') 
     {
      *s=c;      
      uart_putc( c );    
    s++;
    i++;
     }       
  }
  while( i!=length && c!='\r');  
  *s=0;

  uart_puts( "\r\n" );
  uart_puts( "eingegebender Text: " );
  uart_puts( string );
  while (!(UCSRA & (1<<UDRE))) {}
    uart_puts( "\r\n" );

}
return (0);
}

WARUM EMPFANGE ICH NICHTS WENN ICH WAS ÜBER DEN HYPERTERM AN DEN AMEGA16 
SENDE

DANKE FÜR EURE HILFE

Autor: Grrrr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich nehme an Deine Suchfunktion hat einen Fehler. Versuch mal folgendes:

1. Rechner einschalten und bootvorgang abwarten.
2. Internetbrowser starten.
3. www.google.de eingeben.
4. In das Fensterchen einen passenden Suchbegriff eingeben.

Das sollte helfen. Ich habe nämlich den leisen Verdacht, dass Du doch 
eher die zweite Person auf der Welt mit diesem Problem bist als die 
Erste.

Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dein Kwellkod liefert grob 19 Errors beim Compilierversuch, ich glaube 
das ist neuer Rekord. Ich kann mir nicht vorstellen, dass Dein Programm 
so läuft..
Abgesehen davon klemmt dein Shifttaste (oder du schreist grob 
vorsätzlich rum, aber das glaube ich jetzt mal nicht, weil dann würde 
ich Dir nicht helfen wollen). Fürs erste kann ich Dir noch empfehlen das 
Datenblatt zu konsultieren, da steht die Lösung drin (kein Scherz).

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.