Inhaltsverzeichnis

20.3.3 Timer-Projekte 3

20.3.3.1 Beispiel 10 – Extended Timer

Im Beispiel 10 wird von folgender technischen Situation ausgegangen:

Eine Applikation fragt die Frequenz eines Amateurfunk-Empfängers (RX) – hier im 20m-Band – im Abstand von 100·ms über eine serielle Schnittstelle ab. Ein separater Sender (TX) soll nach folgendem Ansatz auf die aktuelle RX-Frequenz eingestellt werden:

RX-TX

Abbildung 20.3.3.1.1: Digitale Frequenz-Anzeige → RX und TX synchronisiert

Quelltext-Ausschnitt aus der o.a. Applikation (Realisierung Extended Timer):

Public Sub Form_Open()  
  FMain.Center
  FMain.Resizable = False  
  Dial1.MinValue = 14000000
  Dial1.MaxValue = 14355000
  Dial1.PageStep = 1000
  Dial1.Step = 100
  Dial1.Value = 14325200
  Dial1.Wrap = True  
  LCDLabel.Alignment = Align.Center
  LCDLabel.Border = True
  LCDLabel.Background = &HC3DDFF& 
  LCDLabel.Foreground = &H0000FF&
  SetLEDColor("green")
  syncTimer.Delay = 1000
 
End ' Form_Open()
 
Public Sub Dial1_Change()
  LCDLabel.Text = Format(Dial1.Value, "00,000000")
  syncTimer.Stop
  syncTimer.Start
  SetLEDColor("red")
End ' Dial1_Change()
 
Public Sub syncTimer_Timer()
  syncTimer.Stop
  SetLEDColor("green")
End ' syncTimer_Timer()
 
Public Sub SetLEDColor(sLEDColor As String)  
  PictureBox1.Picture = Picture["LED/led_" & sLEDColor & ".svg"]
End ' SetLEDColor(..)
 
Public Sub Form_Close()
  If syncTimer.Enabled = True Then syncTimer.Stop
End ' Form_Close()

Download