Forum: PC-Programmierung SharpDevelop <-> RS232


von Fabian H. (fabianh)


Angehängte Dateien:

Lesenswert?

Hallo,
Ich habe gerade ein Projekt(Terrariensteuerung), bei dem die Zeit per 
Computer eingestellt werden soll.
Ich habe nun mal mit SharpDevelop rumprobiert, mit Hilfe eines Tutorials 
habe ich auch den Code gefunden, mit einem Button eine Zahl per RS232 an 
meinem Mega16 zu senden.
Nun soll ich aber noch die Zeit einstellen können, sprich die drei 
Felder (Stunde/Minute/Sekunde) ausfüllen, und dann das Paket absenden 
und am µC auswerten. Das Textfeld soll die Daten anzeigen, die vom µC 
kommen.

Ich kann leider kein VB, hatte gehofft es wäre recht simpel zu 
realisieren. Desweiteren ist die Hardware noch nicht fertig, so dass ich 
nicht viel testen kann.

Könnte mir da jemand weiterhelfen? Datei im Anhang.

Schonmal Danke für die Bemühungen

MfG Fabian

von Timmo H. (masterfx)


Lesenswert?

dann schick halt nen string an den Mega z.B. "s SS MM ss". Der Mega 
kanns dann ja z.B. so auslesen:
1
do{
2
  buffer[i++] = uart_getc();
3
}while(buffer[i-1] != '\r' && buffer[i-1] != '\n');
4
5
i = 0;
6
if(buffer[0] == 's'){
7
  while(buffer[i++] != ' ');
8
  stunde = atoi(&buffer[i]);
9
  while(buffer[i++] != ' ');
10
  minute = atoi(&buffer[i]);
11
  while(buffer[i++] != ' ');
12
  sekunde = atoi(&buffer[i]);
13
      
14
      
15
}

von Fabian H. (fabianh)


Lesenswert?

Mein Problem fängt da an, das ich in Sharpdevelop nicht weis, wie ich 
den numericUpDown auslese, und der Taste 'set time' sage, das die Werte 
der drei UpDowns gesendet werden sollen. Google konnte mir zu den 
UpDowns nicht viel sagen.

MfG Fabian

von Arc N. (arc)


Lesenswert?

Fabian Heinemann wrote:
> Mein Problem fängt da an, das ich in Sharpdevelop nicht weis, wie ich
> den numericUpDown auslese, und der Taste 'set time' sage, das die Werte
> der drei UpDowns gesendet werden sollen. Google konnte mir zu den
> UpDowns nicht viel sagen.
>
> MfG Fabian

google -> net framework numericupdown ->
http://msdn.microsoft.com/de-de/library/system.windows.forms.numericupdown(VS.80).aspx

von Timmo H. (masterfx)


Lesenswert?

Wieso up und down? Ich würde 3 Textfelder machen (SS,MM,ss) und per 
Button den string losschicken. Oder halt einfach die Systemzeit auslesen 
und losschicken.

von Fabian H. (fabianh)


Angehängte Dateien:

Lesenswert?

Das mit der Systemzeit würd ich genau so machen, hab aber keine Ahnung 
wie es geht ;-)
Ich habe halt gehofft ich könnte mir alles zusammenklicken, nen bisschen 
am Code rumschrauben und gut ist. Aber wie gesagt, Ich kann kein VB. Ich 
progge den AVR zwar in Bascom, aber ich bin noch nicht so der Crack, das 
ich mir alles zusammenreimen kann. Den Code für die Textbox habe ich 
schon implementiert. Das auslesen der numericUpDowns klappt aber noch 
nicht ganz.
up und down hat den Vorteil, da kann ich bei den Eigenschaften direkt 
das Maximum und Minimum eingeben. Ich muss dazu sagen, das Projekt ist 
nicht für mich selbst, sondern für nen Kollegen, und da möchte ich 
Fehlbedienung vorbeugen.

Allerdings habe ich inzwischen das ganze noch etwas umgebaut. Da ich 
noch andere Funktionen über die Software einstellen möchte. Wenn ich 
einmal den Code für einen Button drin habe sollte ich den rest ansich 
hinbekommen.

im Anhang ist die aktuelle version

MfG Fabian

von Timmo H. (masterfx)


Lesenswert?

Schonmal was von Google gehört?
Systemzeit auslesen:
System.DateTime.Now.Hour
System.DateTime.Now.Minute
System.DateTime.Now.Second

Zum schicken also sowas wie:
1
serialport1.Write ("set "+System.DateTime.Now.Hour.ToString()+" "+System.DateTime.Now.Minute.ToString()+" "+System.DateTime.Now.Minute.ToString())

von Fabian H. (fabianh)


Lesenswert?

jetzt hab ichs gecheckt, DANKE! Ich hatte zuerst immer nen Syntaxfehler, 
aber nun weis ich wie. Auch das auslesen der restlichen UpDowns geht 
nun, war auch nur nen Syntaxfehler bei mir.

MfG Fabian

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.