Benötige Einstiegshilfe.
Verfasst: 04.01.2007 00:01
Hallo, bin ganz neu im Programmieren und möchte mir gleich mal ein kleines Tool basteln.
Es soll die Daten eines Atmegas empfaangen und sie als Grafik darstellen.
Ich messe die Temperatur und sende diese an die Com Schnittstelle.
Mit Hyperterminel kann ich mir die gesendetten Tempdaten ansehen.
Leider fehlen mir die grundlagen zum Programieren mit PB so das ich nicht recht weiter komm mit meinem Programm drum bitte ich euch um etwas Hilfe.
mein Programm soll folgendes können
Empfangen der Daten vom MC am bester wäre wenn man zwischen com 1 und 2 wählen könnt
Es sind folgende Button vorgesehen.
Start zum Starten der Aufzeichnung
Pause zum Anhalten der Aufzeichnung
Reset zum Rücksetzten
Speichern soll mir ein Bild der Temp kurve speichern
Drucken um die Kurve zu Drucken
Beenden -- das hab ich schon hinbekomm
Ich poste euch mal was ich bis jetzt zusammen gebröselt hab ( nicht lache3n ist echt mein erster geh versuch)
Wäre euch sehr dankbar wenn ihr mir bei meinem programm helfen könntet und mir paar Tipps geben könntet wie ich es am besten anstellen kann denk mal das es ja nicht al zu schwer sein dürfe .
schon mal 1000 Dank im vorraus
Es soll die Daten eines Atmegas empfaangen und sie als Grafik darstellen.
Ich messe die Temperatur und sende diese an die Com Schnittstelle.
Mit Hyperterminel kann ich mir die gesendetten Tempdaten ansehen.
Leider fehlen mir die grundlagen zum Programieren mit PB so das ich nicht recht weiter komm mit meinem Programm drum bitte ich euch um etwas Hilfe.
mein Programm soll folgendes können
Empfangen der Daten vom MC am bester wäre wenn man zwischen com 1 und 2 wählen könnt
Es sind folgende Button vorgesehen.
Start zum Starten der Aufzeichnung
Pause zum Anhalten der Aufzeichnung
Reset zum Rücksetzten
Speichern soll mir ein Bild der Temp kurve speichern
Drucken um die Kurve zu Drucken
Beenden -- das hab ich schon hinbekomm

Ich poste euch mal was ich bis jetzt zusammen gebröselt hab ( nicht lache3n ist echt mein erster geh versuch)
Code: Alles auswählen
If InitSprite() = 0
MessageRequester("Error", "Can't open screen & sprite enviroment!", 0)
End
EndIf
If OpenWindow(0, 0, 0, 700, 600, "Templogger V1.0...", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(0))
; NR. X Y Länge Breite Name
ButtonGadget(1, 50, 20, 60, 30, "Start")
EndIf
If CreateGadgetList(WindowID(0))
ButtonGadget(2, 120, 20, 60, 30, "Pause")
EndIf
If CreateGadgetList(WindowID(0))
ButtonGadget(3, 190, 20, 60, 30, "Reset")
EndIf
If CreateGadgetList(WindowID(0))
ButtonGadget(4, 260, 20, 60, 30, "Drucken")
EndIf
If CreateGadgetList(WindowID(0))
ButtonGadget(5, 330, 20, 60, 30, "Speichern")
EndIf
If CreateGadgetList(WindowID(0))
ButtonGadget(6, 400, 20, 60, 30, "Beenden")
EndIf
DateGadget(0, 500, 25, 180, 25, "Datum: %mm/%dd/%yyyy Zeit: %hh:%ii")
; Repeat: Until WaitWindowEvent() = #PB_Event_Gadget
StartDrawing(WindowOutput(0)) ;Startet das Rahmenzeichnen
; X Y Wert Farbe Schrift, Hintergrund
DrawText(5, 500, " 5°C" , 0 ,RGB(216,208,200))
DrawText(5, 470, "10°C" , 0 ,RGB(216,208,200)) ;Abstand y achse ist 30 Pixel
DrawText(5, 440, "15°C" , 0 ,RGB(216,208,200))
DrawText(5, 410, "20°C" , 0 ,RGB(216,208,200));Hautstriche aller 5°C Y Achse
DrawText(5, 380, "25°C" , 0 ,RGB(216,208,200))
DrawText(5, 350, "30°C" , 0 ,RGB(216,208,200))
DrawText(5, 320, "35°C" , 0 ,RGB(216,208,200))
DrawText(5, 290, "40°C" , 0 ,RGB(216,208,200))
DrawText(5, 260, "45°C" , 0 ,RGB(216,208,200))
DrawText(5, 230, "50°C" , 0 ,RGB(216,208,200))
DrawText(5, 200, "55°C" , 0 ,RGB(216,208,200))
DrawText(5, 170, "60°C" , 0 ,RGB(216,208,200))
DrawText(5, 140, "65°C" , 0 ,RGB(216,208,200))
DrawText(5, 110, "70°C" , 0 ,RGB(216,208,200))
DrawText(5, 80, "75°C" , 0 ,RGB(216,208,200))
DrawText(41, 515,"_", 0 ,RGB(216,208,200)) ; Hilfsstriche aller 2,5°C Y Achse
DrawText(41, 500, "-" , 0 ,RGB(216,208,200))
DrawText(41, 485, "-" , 0 ,RGB(216,208,200))
DrawText(41, 470, "-" , 0 ,RGB(216,208,200))
DrawText(41, 455, "-" , 0 ,RGB(216,208,200))
DrawText(41, 440, "-" , 0 ,RGB(216,208,200))
DrawText(41, 425, "-" , 0 ,RGB(216,208,200))
DrawText(41, 410, "-" , 0 ,RGB(216,208,200))
DrawText(41, 395, "-" , 0 ,RGB(216,208,200))
DrawText(41, 380, "-" , 0 ,RGB(216,208,200))
DrawText(41, 365, "-" , 0 ,RGB(216,208,200))
DrawText(41, 350, "-" , 0 ,RGB(216,208,200))
DrawText(41, 335, "-" , 0 ,RGB(216,208,200))
DrawText(41, 320, "-" , 0 ,RGB(216,208,200))
DrawText(41, 305, "-" , 0 ,RGB(216,208,200))
DrawText(41, 290, "-" , 0 ,RGB(216,208,200))
DrawText(41, 275, "-" , 0 ,RGB(216,208,200))
DrawText(41, 260, "-" , 0 ,RGB(216,208,200))
DrawText(41, 245, "-" , 0 ,RGB(216,208,200))
DrawText(41, 230, "-" , 0 ,RGB(216,208,200))
DrawText(41, 215, "-" , 0 ,RGB(216,208,200))
DrawText(41, 200, "-" , 0 ,RGB(216,208,200))
DrawText(41, 185, "-" , 0 ,RGB(216,208,200))
DrawText(41, 170, "-" , 0 ,RGB(216,208,200))
DrawText(41, 155, "-" , 0 ,RGB(216,208,200))
DrawText(41, 140, "-" , 0 ,RGB(216,208,200))
DrawText(41, 125, "-" , 0 ,RGB(216,208,200))
DrawText(41, 110, "-" , 0 ,RGB(216,208,200))
DrawText(41, 95, "-" , 0 ,RGB(216,208,200))
DrawText(41, 80, "-" , 0 ,RGB(216,208,200))
; X Achsen Striche mit Beschriftung.
DrawText(50, 529, "|" , 0 ,RGB(216,208,200)) ; Hilfsstriche aller 5 Min X Achse
DrawText(50, 539, "5" , 0 ,RGB(216,208,200))
DrawText(100, 529, "|" , 0 ,RGB(216,208,200))
DrawText(100, 539, "10" , 0 ,RGB(216,208,200))
DrawText(150, 529, "|" , 0 ,RGB(216,208,200))
DrawText(150, 539, "15" , 0 ,RGB(216,208,200))
DrawText(200, 529, "|" , 0 ,RGB(216,208,200))
DrawText(200, 539, "20" , 0 ,RGB(216,208,200))
DrawText(250, 529, "|" , 0 ,RGB(216,208,200))
DrawText(250, 539, "25" , 0 ,RGB(216,208,200))
DrawText(300, 529,"|", 0 ,RGB(216,208,200))
DrawText(300, 539,"30", 0 ,RGB(216,208,200))
DrawText(350, 529, "|" , 0 ,RGB(216,208,200))
DrawText(350, 539, "35" , 0 ,RGB(216,208,200))
DrawText(400, 529, "|" , 0 ,RGB(216,208,200))
DrawText(400, 539, "40" , 0 ,RGB(216,208,200))
DrawText(450, 529, "|" , 0 ,RGB(216,208,200))
DrawText(450, 539, "45" , 0 ,RGB(216,208,200))
DrawText(500, 529, "|" , 0 ,RGB(216,208,200))
DrawText(500, 539, "50" , 0 ,RGB(216,208,200))
DrawText(550, 529, "|" , 0 ,RGB(216,208,200))
DrawText(550, 539, "55" , 0 ,RGB(216,208,200))
DrawText(600, 529, "|" , 0 ,RGB(216,208,200))
DrawText(600, 539, "60" , 0 ,RGB(216,208,200))
DrawText(650, 529, "|" , 0 ,RGB(216,208,200))
LineXY(39, 529, 650, 529 , 0) ;Rahmen unten
LineXY(40, 530, 651, 530 , 0) ;Rahmen unten
LineXY(39, 70, 39, 529 , 0) ;Rahmen links
LineXY(40, 70, 40, 530 , 0) ;Rahmen links
DrawText(300, 560, "Zeit in Minuten" , 0 ,RGB(216,208,200));X Beschriftung
StopDrawing()
EndIf
Repeat
Repeat
Event = WindowEvent()
Select Event
Case #PB_Event_Gadget
If EventGadget() = 6
End
EndIf
Case #PB_Event_CloseWindow
End
EndSelect
Until Event = 0
ForEver
schon mal 1000 Dank im vorraus