Member 13396059 Ответов: 1

Замыкания через интерфейс RS232


Здравствуйте, Друзья!!!

Я хочу написать программу, используя VB6. 0 с RS232, и я закоротил 2 и 3 контакта (т. е. прием и передача) женского разъема, и я подключил этот rs232 через USB к своему ноутбуку, и теперь, используя программирование vb6, я хочу отправить данные(в виде строки) на передающий вывод rs232 и хочу получить данные (в виде строки) обратно на свой ноутбук через приемный вывод..

Пожалуйста, помогите мне в кодировании..Я новичок в VB и начал учиться..

Пожалуйста, помогите мне.- Большое спасибо.

Спасибо.

Что я уже пробовал:

Option Explicit

Dim Newdata As String   'each imcoming packet is assembled here

Private Sub Command35_Click()
    Text21.Text = Text21.Text & ""
    Text20.Text = Text21.Text & ""
End Sub

Private Sub Form_Load()
         
         Form1.Caption = ""

         MSComm1.CommPort = 8

            '.Handshaking = 2 - comRTS

         MSComm1.RThreshold = 1

         MSComm1.RTSEnable = True

         MSComm1.Settings = "9600,n,8,1"

         MSComm1.SThreshold = 1

         MSComm1.PortOpen = True
    
         Newdata = ""   'initialize to empty

      End Sub

      Private Sub Form_Unload(Cancel As Integer)

         MSComm1.PortOpen = False

      End Sub
      
      Private Sub MSComm1_OnComm()

         Dim InBuff As String

         Dim I As Integer      'used to inspect each incoming character

         Dim theChar As String  'each received character

         Dim theInfo As String

          

         Select Case MSComm1.CommEvent
 

         ' Errors

            Case comEventBreak   ' A Break was received.

            Case comEventCDTO   ' CD (RLSD) Timeout.

            Case comEventCTSTO   ' CTS Timeout.

            Case comEventDSRTO   ' DSR Timeout.

            Case comEventFrame   ' Framing Error.

            Case comEventOverrun ' Data Lost.

            Case comEventRxOver  ' Receive buffer overflow.

            Case comEventRxParity   ' Parity Error.

            Case comEventTxFull  ' Transmit buffer full.

            Case comEventDCB     ' Unexpected error retrieving DCB]
 

         ' Events

            Case comEvCD   ' Change in the CD line.

            Case comEvCTS  ' Change in the CTS line.

            Case comEvDSR  ' Change in the DSR line.

            Case comEvRing ' Change in the Ring Indicator.

            Case comEvReceive ' Received RThreshold # of chars.
             

               InBuff = MSComm1.Input  'received 1 or more characters

                

            For I = 1 To Len(InBuff) 'examine each received character in sequence

             

                theChar = Mid$(InBuff, I, 1) 'extract the next character

                    

                If Asc(theChar) = 13 Then 'Look for CR

                     

                theInfo = Mid$(Newdata, 2, 1) 'Loads the third letter in the String "Newdata" in "theInfo" is a (I) or (P)

                 
                 If theInfo = "I" Then
                    InformationDisplay.SelLength = 0
                    InformationDisplay.SelStart = Len(InformationDisplay.Text)
                    InformationDisplay.SelText = Newdata + vbCr + vbLf   'include a CR and LF to separate from next line placed in OutputDisplay
                    InformationDisplay.SelLength = 0
                                                                
                 ElseIf theInfo = "P" Then
                    OutputDisplay.SelLength = 0
                    OutputDisplay.SelStart = Len(OutputDisplay.Text)
                    OutputDisplay.SelText = Newdata + vbCr + vbLf   'include a CR and LF to separate from next line placed in OutputDisplay
                    OutputDisplay.SelLength = 0

                End If

                 

     'If Asc(theInfo) = 73 Then 'Look for (I)
                     

                    InformationDisplay.SelStart = Len(InformationDisplay.Text)

                    InformationDisplay.SelText = Newdata + vbCr + vbLf   'include a CR and LF to separate from next line placed in OutputDisplay

                   

                    Newdata = "" 'clear NewData so it can assemble the next packet
                    
                        Data.SelLength = 0

                        Data.SelStart = 2

                        Data.SelText = vbCrLf

                        Data.SelLength = 0

                         

                    ElseIf Asc(theChar) <> 10 Then  'ignore linefeeds

                         

                        Newdata = Newdata + theChar 'received a character -- append it to NewData

                         

                        Data.SelLength = 0

                        Data.SelStart = Len(Data.Text)

                        Data.SelText = theChar

                        Data.SelLength = 0

                    End If

            Next I


            Case comEvSend ' There are SThreshold number of

                           ' characters in the transmit buffer.

            Case comEvEOF  ' An EOF character was found in the

                           ' input stream.

         End Select

      End Sub

OriginalGriff

И что же?
Что он делает такого, чего вы не ожидали, или не делает того, что вы сделали?

Member 13396059

нет..код был просто копированием и вставкой данных из одного текстового поля в другое..если я удалю разъем rs232, то процесс будет запущен, и он не должен этого делать..

Member 13396059

нет..код был просто копированием и вставкой данных из одного текстового поля в другое..если я удалю разъем rs232, то процесс будет запущен, и он не должен этого делать..

Graeme_Grant

Вы должны нажать кнопку" ответить", если хотите, чтобы мы знали, что вы ответили.

Member 13396059

Оооо СРИ я ДНТ knw..я сделаю это frm сейчас

Member 13396059

пожалуйста помогите мне друзья

1 Ответов

Рейтинг:
1

Graeme_Grant

Прошло уже довольно много времени с тех пор, как VB6 &RS232c comms, однако я помню, что проводка кабеля RS232 Loopback немного сложнее... Не только Rx &Tx, но и CTS (clear to send) и RTS (request to send), а также многое другое для обслуживания аппаратного рукопожатия... Взгляните на эту ссылку: Распиновка Для Последовательных Портов - народный инструмент[^]