Entwickler-Ecke
IO, XML und Registry - Über seriell zu Atmega8
Lord-Maricek - Mo 15.02.10 15:46
Titel: Über seriell zu Atmega8
Hi Leute,
ich möchte über die Serielle Schnittstelle Befehle an meinen Atmega8 schicken.
Ich bin noch nicht so ein erfahrener Programmierer, aber ich hoffe ich schaff das.
Also meine Fragen:
Ich wollte eine GUI programmieren, und dadrauf sollte ein Schiebebalken.
Der Schiebebalken soll je nach position (links 0 und rechts 1) den Wert der positiion
in einer Variable speichern und beim klicken auf einen Button über den Seriellen Port an den Atmega schicken.
Wie mach ich das man besten und wie weiß ich welcher der richtige COM Port ist.
Ich weiß nicht ob mir hier in dem Forum dazu jemand helfen kann, aber wie empfängt der Atmega die Variable mit Inhalt?
Philipp
c#surfer - Mo 15.02.10 16:03
Ich würde dir empfehlen erstmal mit einem fertigen (Freeware) Programm auf den Atmel zuzugreifen. Fragen zum Atmel würde ich an deiner Stelle eher bei [url]
http://www.mikrocontroller.net[/url] stellen. Ansonsten hast du 2 Baustellen (c# + Atmel). Wenn dir das gelingt, dann schau dir bitte die SerialPort Klasse an, dort findest du alles, um die COM-Schnittstelle unter c# zu nutzen.
Lord-Maricek - Sa 13.03.10 20:26
Moin,
ich habe jetztmal einen Arduino Programmiert, der die Zahlen 1-9 über die Serielle Schnittstelle annimmt.
Mein Problem ist, dass ich immer noch nicht so wirklich gecheckt habe wie man jetzt daten mit Csharp sendet.
es soll erstmal nur ein Feld sein mit einer Textbox und ein Button der auf klick die daten aus textbox1.text sendet.
Ich hoffe ihr könnt mir helfen?
Philipp
Ich habe grad nochmal ein bisschen geforscht und habe dann das hier geschrieben:
was haltet ihr davon?
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: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37:
| using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO.Ports;
namespace RS232 { class Program { static void Main(string[] args) { string modus = "servo"; Console.Write("Geben Sie einen Comparer Port einen: "); string port = Console.ReadLine(); Console.Write("Geben Sie eine Baudrate ein: "); int baudrate = Convert.ToInt32(Console.ReadLine());
SerialPort sp = new SerialPort(port, baudrate, Parity.None, 8, StopBits.One); sp.Open();
while(modus == "servo") { Console.Write("Geben Sie eine Servo-Stellung eine: "); string position = Console.ReadLine(); if (position == "exit") { break; } Console.WriteLine("Servo is moving to: {0}", position); sp.Write(position); }
Console.ReadLine(); } } } |
Achja, es funktioniert übrigens.
Philipp
Moderiert von
Christian S.: Code- durch C#-Tags ersetzt
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!