mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik rs232 mega8


Autor: benji (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo jungs!

bitte euch mal ganz dringend um hilfe..

ich arbeite das avr tutorial durch und benötige (leider sehr dringend) 
ein funktionierendes "terminal programm" (source) dazu, welches in C 
geschrieben ist..

sprich einfach ein standard gerüst (progg.c) welches ich evtl editieren 
kann..


ich möchte per rs232 schnittstelle den uC beliebige werte schicken 
welche er dann dementsprechen interpretiert. (ist die überhaupüt mögl 
oder kann ich nur 0 bzw 1 im byte senden?)


ganz liebe grüße,

benji

Autor: unsichtbarer WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>kann ich nur 0 bzw 1 im byte

Muaaa!
Versuch' doch mal eine 2 oder 3 in ein Bit zu schreiben!

Wenn man die serielle Schnittstelle mit den Parametern 8N1 betreibt, 
werden 1 Byte, 1 Stoppbit und keine Parität übertragen.
Mehr als acht Bit überträgt diese serielle nicht.

>ich arbeite das avr tutorial durch und benötige (leider sehr dringend)
>ein funktionierendes "terminal programm" (source) dazu, welches in C
>geschrieben ist..

Mit oder ohne Interrupt-Steuerung?

Autor: unsichtbarer WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> "terminal programm"

Für welche Seite? Controller oder PC?

Fürn PC gibt es HTerm (Codesammlung oder PC-Forum).
Fürn µC gibt es im Datenblatt kurze Beispiele, die man nach belieben 
modifizieren kann (i.d.R. funktionieren die auch).

Autor: benji (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oh.. sry ich vergas:

http://www.mikrocontroller.net/sourcecode/tutorial...

dies ist das programm aus dem tut. zu welchem ich das programm suche..


@wm-rahul, also kann ich in zukunft immer nur 8 bit versenden ?



lg,

benji

Autor: benji (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
anhang:   pc seitig, gan ein einfaches programm welches 1 oder 0 an uC 
sendet, welches dieser dann interpretiert..

Autor: benji (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
achja was vielleicht noch dazu sollte:

ich arbeite unter linux und will diesen c source in einen programmierten 
webserver einbaun, daher bringt mit ein programm wie HTerm leider nichts 
:(

am liebsten wär mir ein 20 zeiliger c source der das macht was ich will 
xD xD wo kann man sowas bestelln :P

Autor: unsichtbarer WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
HTerm, Hyperterm, unter Linux wird es auch sowas geben.

>welches 1 oder 0 an uC

Meinst du "1" und "0" oder 1 und 0?

Die ersten beiden sind ASCII-Zeichen, die anderen beiden Zahlen.

> also kann ich in zukunft immer nur 8 bit versenden

Nein, du kannst natürlich mehr als nur 8 Bit versenden.
Allerdings nicht in einem Datenrahmen, sondern immer nur nacheinander, 
also 8 Bit, 16 Bit, 24 Bit ... ganze Bytes maximal.

Autor: unsichtbarer WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Name (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
minicom

Autor: benji (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kurzer ausschnitt aus dem programm:


.
.
.
        sbi UCSRB, RXCIE                  ; Interrupt bei Empfang
        sbi UCSRB, RXEN                   ; RX (Empfang) aktivieren

        sei                               ; Interrupts global aktivieren

loop:   rjmp loop                         ; Endlosschleife

; Interruptroutine: wird ausgeführt sobald ein Byte über das UART 
empfangen wurde
int_rxc:
        push temp                         ; temp auf dem Stack sichern

        in temp, UDR
        cpi temp, '1'                     ; empfangenes Byte mit '1' 
vergleichen
        brne int_rxc_1                    ; wenn nicht gleich, dann zu 
int_rcx_1
        cbi PORTB, 0                      ; LED einschalten
int_rxc_1:
        cpi temp, '0'                     ; empfangenes Byte mit '0' 
vergleichen
        brne int_rxc_2                    ; wenn nicht gleich, dann zu 
int_rcx_2
        sbi PORTB, 0                      ; LED ausschalten

.
.
.


ich möchte dieses programm zum laufen bringen.. ich brauche keine 
oberfläche sondern nur eine konsolenanwendung in c++ welche mir über 
rs232 vom pc  werte verschickt sodass der uC sie auswerten kann

Autor: Name (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da brauchst du kein c++. Mit setserial die passenden 
Kommunikationsparameter (Baudrate, Parity, ...) einstellen und dann:
echo 1 > /dev/tty0
oder
echo 0 > /dev/tty0

Such mal nach dem "serial howto".

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mein Unix ist schon lange her.
Am einfachsten wird wohl sein, du schreibst das
was du dem µC mitteilen möchtest in ein file.

cat file > tty1

schickt das dann zur Seriellen.
Die tty1 vorher natürlich richtig konfigurieren (baudrate, etc)

Ansonsten: Das kann doch nicht so schwer sein
ein Terminalpgm für Linux aufzutreiben.

http://www.google.com
Suchbegriff: "linux terminal download"

Selbisges gilt für die Programmierung der Seriellen
Schnittstelle unter Linux. Google ist dein Freund!

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.