Итак, открываю порт:
- Код: Выделить всё
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False 'Закрыть COM - порт
With MSComm1 '
.Handshaking = 0 'Связь через COM порт без Handshaking
.InputLen = 20 'Длина буфера приема
.InputMode = comInputModeBinary 'Прием бинарный
.CommPort = 2 'Номер COM порта
.Settings = "38400,n,8,1" 'Установки COM порта
.SThreshold = 10 'Число байт передачи для срабатывания события
.RThreshold = 10 'Число байт приема для срабатывания события
End With '
MSComm1.PortOpen = True 'Открыть com - порт
Порог - 10 байт для теста. Приёмный массив объявлен глобально Dim FT_Mass(1 To 10) As Byte
В OnComm() пытаюсь прочитать:
- Код: Выделить всё
Private Sub MSComm1_OnComm() 'Срабатывание события COM порта
If MSComm1.CommEvent <> comEvReceive Then Exit Sub 'Если событие не прием - выход
FT_Mass = MSComm1.Input 'Читать принятое количество байт
И вот на последней строчке получаю ошибку компиляции:
---------------------------
Microsoft Visual Basic
---------------------------
Ошибка компиляции:
Can't assign to array
---------------------------
ОК Справка
---------------------------
Понимаю что нельзя просто передать данные с буфера MSCOmm в приёмный буфер, но как их тогда принять?