Autor Beitrag
Chruz
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Fr 25.06.10 13:10 
Moin =)

Ich möchte ein Mikrocontrollerboard, welches mit Display, LEDs etc ausgestattet ist, ansprechen.
Dies möchte ich mit der RS232-Schnittstelle realisieren.

Was bisher geht:

Ich habe ein Programm für den Mikrocontroller. Wenn ich es nun auf den PIC lade und das Board via RS232 mit dem PC verbinde, kann ich mit Hilfe des Programms "Hyper-Terminal" das Display ansprechen.
Wenn ich ein "A" drücke, erscheint auf dem Display auch ein "A".

Nun möchte ich aber eine ganz einfache Software realisieren, wo ich genau das gleiche machen kann!

Warum denn, wenns mit Hyper-Terminal geht?

Ich bin Lehrling und werde in den nächsten Monaten ein Software-Projekt durchführen müssen, wo die Kommunikation eine wichtige Rolle spielen wird.

Auch erwähnt werden muss, dass ich erst seit 2 Wochen C# programmiere ;)

Natürlich habe ich auch mein Freund Google gefragt! Unter anderem habe ich folgendes gefunden:

www.ploetzeneder.eu/...2-schnittstelle.html

Doch ich ich verstehe im Moment nur Bahnhof :(

Wie soll ich beginnen?

Wo den Text reinschreiben?

Wie übergeben etc?


Ich hoffe ihr könnt auf meine Fragen passende Antworten geben!


Danke im voraus!


Moderiert von user profile iconChristian S.: Topic aus C# - Die Sprache verschoben am Fr 25.06.2010 um 15:02
danielf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1012
Erhaltene Danke: 24

Windows XP
C#, Visual Studio
BeitragVerfasst: Fr 25.06.10 13:13 
Hallo,

anfangen kannst du wie in deinem Link beschrieben. Einfach ein Winforms-Projekt anlegen und das Lesen und Senden vom SerialPort anzeigen lassen. Wenn das funktioniert musst du dich um das Protokoll kümmern, welches dein Mikrocontroller spricht. Damit kannst du dann Befehle - wie zeige A an - übermitteln.

Gruß
Chruz Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Fr 25.06.10 13:35 
So:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace RS232
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            string str;
            str = "A";
            serialPort1.WriteLine(str);
        }
    }
}


Sollte doch jetzt andauernd ein A senden oder nicht?

Zitat:


Wenn das funktioniert musst du dich um das Protokoll kümmern, welches dein Mikrocontroller spricht. Damit kannst du dann Befehle - wie zeige A an - übermitteln.



Versteh ich leider nicht ganz.

Moderiert von user profile iconChristian S.: Quote- durch C#-Tags ersetzt
danielf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1012
Erhaltene Danke: 24

Windows XP
C#, Visual Studio
BeitragVerfasst: Fr 25.06.10 13:58 
Um zu sehen, was über den SerialPort geschrieben wurde musst du im DataReceived-EventHandler ReadExisting() aufrufen.
Am besten du packst die Nachricht in ein ListBox rein... oder machst gleich ein KonsolenProjekt...

Um Nachrichten an den Mikrocontroller zu senden musst du SerialPort.WriteLine aufrufen.

Was du dabei übergibst hängt vom Protokoll deines Mikrocontroller ab.. darüber musst du dich schlau machen.
Chruz Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Fr 25.06.10 14:33 
Zitat:


Um zu sehen, was über den SerialPort geschrieben wurde musst du im DataReceived-EventHandler ReadExisting() aufrufen.



Also erstmal möchte ich nur mal was ausgeben.

Zitat:


Am besten du packst die Nachricht in ein ListBox rein... oder machst gleich ein KonsolenProjekt...



Wenns mit einer Konsolenanwendung bisschen einfacher wäre, warum nicht! Dann würde ich, falls es mit der Konsole klappen sollte, mich nächste Woche dran machen, das ganze in nem Windows-GUI zu realisieren.

Zitat:


Um Nachrichten an den Mikrocontroller zu senden musst du SerialPort.WriteLine aufrufen.



Die Funktion gibts irgendwie net :roll:

Zitat:


Was du dabei übergibst hängt vom Protokoll deines Mikrocontroller ab.. darüber musst du dich schlau machen.



Kommts auf den Mikrocontroller selber oder auf das für ihn geschriebene Programm an?


Wäre schön, wenn du bisschen mehr ins Detail gehen würdest, bin ja nicht ein Profi :wink:

Natürlich würde ich mich noch übere andere User-Antworten freuen!
danielf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1012
Erhaltene Danke: 24

Windows XP
C#, Visual Studio
BeitragVerfasst: Fr 25.06.10 14:42 
Du musst auf die Instanz der SerialPort-Klasse zugreifen. Dir fehlen jegliche Grundlagen :( Und deshalb wäre ein Konsolen Projekt wohl einfacher, sonst müssen wir uns ja durch Alles durchkrampfen.

Ich kann nicht auf die Details des Protokolls deines Mikrocontroller eingehen, weil ich nicht weiß, was für eins er verwendet. Das musst du uns schon sagen, sonst kann dir auch niemand anderes weiter helfen.