Option Explicit Private Sub cmdSend_Click() Dim PinNumber As Long Dim PinState As Long ' Get Pin Number PinNumber = cboPinNumber.ListIndex ' Get Pin State If Check1 = vbChecked Then PinState = 0 Else PinState = 1 End If ' Send Out Data MSComm1.Output = Chr$(255) & Chr$(PinNumber) & Chr$(PinState) End Sub Private Sub Command1_Click() MSComm1.PortOpen = False End End Sub Private Sub Command2_Click() Dim PinNumber1 As Long Dim PinState1 As Long ' Get Pin Number PinNumber1 = cboPinNumber1.ListIndex ' Get Pin State If Check2 = vbChecked Then PinState1 = 0 Else PinState1 = 1 End If ' Send Out Data MSComm1.Output = Chr$(255) & Chr$(PinNumber1) & Chr$(PinState1) End Sub Private Sub VScroll1_Change() Dim servo As Long Dim PinNumber2 As Long PinNumber2 = cboPinNumber2.ListIndex Text1.Text = VScroll1.Value servo = Text1.Text MSComm1.Output = Chr$(255) & Chr$(PinNumber2) & Chr$(servo) End Sub Private Sub VScroll1_Scroll() VScroll1_Change End Sub Private Sub Form_Load() Dim Pins As Long ' Add the pin numbers 0 to 15 to cboPinNumber For Pins = 0 To 15 cboPinNumber.AddItem CStr(Pins) cboPinNumber1.AddItem CStr(Pins) cboPinNumber2.AddItem CStr(Pins) Next Pins ' Default to Pin 0 being selected cboPinNumber.ListIndex = 0 cboPinNumber1.ListIndex = 0 cboPinNumber2.ListIndex = 0 ' Default to optState(0) being selected ' Use COM1 MSComm1.CommPort = 1 ' 2400 baud, no parity, 8 data bits, 1 stop bit MSComm1.Settings = "2400,N,8,1" ' Make sure DTR line is low to prevent Stamp reset MSComm1.DTREnable = False ' Open the port MSComm1.PortOpen = True End Sub Private Sub Form_Unload(Cancel As Integer) MSComm1.PortOpen = False End Sub Private Sub Timer1_Timer() Label3.Caption = Time End Sub