mikrocontroller.net

Forum: Projekte & Code UART Empfang in C (AT90S2333), ohne STK


Autor: Niki Hammler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das folgende Programm ist in AVR-GCC geschrieben und für AT90S2333 oder 
kompatibie. macht nichts anderes als:
Wenn das Zeichen 'a' geschickt wird, geht die LED an Port P0 aus, wenn 
das Zeichen 's' empfangen wurde geht die LED wieder an.
Hervorragend zum Testen geeignet.

#define CPU_CLOCK  4000000 // Frequenz in Hertz, ggf ändern

#include <io.h> // Für allgemeine I/O Funktionen
#include <sig-avr.h> // Für interrupts notwendig
#include <interrupt.h> // --''--


void init_serial(void)
{
  // Das UART für den Empfang aktivieren
  sbi(UCSRB, RXEN);
  sbi(UCSRB, RXCIE);
  // Baudrate einstellen (ich weiss, geht über outp besser)
  asm volatile("ldi r16,4000000/(9600*16)-1" "\n\t" "out 0x09,r16");
}

SIGNAL(SIG_UART_RECV)
{
  switch(inp(UDR))
  {
    case 'a': outp(0xFF, PORTB); break;
    case 's': outp(0x00, PORTB); break;
    default: break;
  }
}

void init_io(void)
{
  // Alle Pins von Port B als Ausgänge konfigurieren
  outp(0xFF, DDRB);
}

int main(void)
{
  init_serial(); // Alle seriellen Sachen initialisieren
  init_io();  // I/O Ports konfigurieren
  sei();   // Interrupts einschalten
  while(1);  // Warteschleife
  return(0);
}

Autor: Sala (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry ich möchte nur wissen was STK zu bedeuten hat?
Danke!

Sala

Autor: edd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

STK steht für Starter-Kit. Mehr Infos dazu findest Du im Wiki:
http://www.mikrocontroller.net/wiki/STK200

cya
  edd

Autor: Sala (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antwort!

Sala!

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.