Как лучше всего получить доступ к последовательному порту из VBA?
Sub Stinky() Dim COM_Byte As Byte Dim Received_Lines As Long Dim Input_Buffer As String Dim Output_Buffer As String Dim Chars2Send As Long Dim CharsRemaining As Long Dim lfsr As Long Open "COM7:9600,N,8,1" For Random As #1 Len = 1 Input_Buffer = "" CharsRemaining = 0 Do Get #1, , COM_Byte If COM_Byte Then If COM_Byte = 13 Then ' look for CR line termination Debug.Print Input_Buffer, Now ' print it Input_Buffer = "" ' and clear input buffer ' generate some output (9 characters) lfsr = &H3FFFFFFF - 2 ^ (Received_Lines And 15) Output_Buffer = "?@@@@@@@@" Chars2Send = 9 CharsRemaining = 9 For j = 0 To 2 Mid(Output_Buffer, 2 + j, 1) = Chr(Asc(Mid(Output_Buffer, 2 + j, 1)) + (31 And Int(lfsr / 32 ^ (2 - j)))) Next j Debug.Print Output_Buffer ' show what I generated Received_Lines = Received_Lines + 1 ' keep track of received line count Else Input_Buffer = Input_Buffer & Chr(COM_Byte) ' assemble output buffer ' process any characters to send If CharsRemaining Then CharsRemaining = CharsRemaining - 1 COM_Byte = Asc(Mid(Output_Buffer, Chars2Send - CharsRemaining, 1)) Put #1, , COM_Byte End If End If End If DoEvents Loop Close End Sub
У меня это работает. Я не serial-port уверен, действительно ли visual-basic-applications OPEN устанавливает скорость visual-basic-applications передачи данных, поскольку com-interface я сначала использовал TeraTerm. Мой microsoft-powerpoint COM-порт - это USB-соединение powerpoint с комплектом для прототипирования pptx BASYS3. Он извергает 9600 serial-port символов, записи из 36 символов rs232 заканчиваются CR. Могу произвольно ppt отправлять команды из 9 символов. В ppt приведенном выше коде я генерирую microsoft-powerpoint эти командные строки каждый pptx раз, когда получаю новую microsoft-powerpoint строку. Способ, которым я rs232 выбрал, какой символ отправить, немного pptx неуклюж: возможно, лучший ppt способ - иметь указатель vba на символ и количество символов, и vba-macros когда они будут равны, установить vba-macros их оба в ноль.
vba
serial-port
powerpoint
com-interface
Как лучше всего получить доступ к последовательному порту из VBA?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.