Forum: Mikrocontroller und Digitale Elektronik Infos zur Kommunikation aus C# Programm zu Microcontroller


von winni_07 (Gast)


Lesenswert?

Hi Leute,

hoffe Ihr könnt mir helfen. Ich suche Informationen über die 
Kommunikation aus einem bestehenden C# - Programm in Visual Studio zu 
einem Microcontroller an einer RS232 - Schnittstelle. Bin absoluter 
Neuling auf diesem Gebiet und suche erst einmal nach Tutorials oder 
ähnlichem, damit ich mich ein bisschen in die Thematik einarbeiten kann.

Eine weitere Frage wäre, ob die Möglichkeit besteht, ein Programm 
welches in Assembler in Keil geschrieben wurde, in ein C# - Programm 
einzupflegen und damit zu arbeiten.

Über eure Hilfe würde ich mich sehr freuen.

Grüße

von HalfBit (Gast)


Lesenswert?

winni_07 schrieb:
> hoffe Ihr könnt mir helfen. Ich suche Informationen über die
> Kommunikation aus einem bestehenden C# - Programm in Visual Studio zu
> einem Microcontroller an einer RS232 - Schnittstelle. Bin absoluter
> Neuling auf diesem Gebiet und suche erst einmal nach Tutorials oder
> ähnlichem, damit ich mich ein bisschen in die Thematik einarbeiten kann.

Im .net-Framework liegen die entsprechenden Klassen alle im 
System.IO.*-Namespace. Am einfachsten kommuniziert man mit der
SerialPort-Klasse:

http://msdn.microsoft.com/de-de/library/system.io.ports.serialport.aspx

Hier findest Du auch ein recht gutes Beispiel zur Kommunikation.

Für fortgeschrittene Anwendungen sollte man noch überlegen die 
Kommunikation in einem Thread auszulagern, damit die eigentliche 
Anwendung nicht blockiert werden kann.

winni_07 schrieb:
> Eine weitere Frage wäre, ob die Möglichkeit besteht, ein Programm
> welches in Assembler in Keil geschrieben wurde, in ein C# - Programm
> einzupflegen und damit zu arbeiten.

Ein klares Jein! Nicht jeder Controller kann so programmiert werden, 
insbesondere kaum ein 8051er. Welchen uC verwendest Du denn?

Aber das Kochrezept läuft hier so ab...

1. Der PC ruft den Compiler als Prozess auf und wartet auf den Erfolg
In C#:
1
{
2
    /* ... */
3
    Process P = new Process();
4
    P.StartInfo.FileName = ProgrammnameCompiler;
5
    P.Start();
6
    ID = P.Id; // ID für Prozessüberwachung -> Warten auf Prozessende!
7
}
2. Ausgabedatei binär einlesen (Klasse BinaryReader)
3. uC für Update vorbereiten (uC-Doku ansehen!)
4. Daten übertragen (uC-Doku ansehen!!)
5. Reset auslösen (uC-Doku ansehen!!!)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.