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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Niki Hammler (Gast)


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);
}

von Sala (Gast)


Lesenswert?

Sorry ich möchte nur wissen was STK zu bedeuten hat?
Danke!

Sala

von edd (Gast)


Lesenswert?

Hi,

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

cya
  edd

von Sala (Gast)


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]
  • [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.