Member 13396059 Ответов: 0

Невозможно получить данные


Всем привет,

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

шестнадцатеричный код, который я должен получить, это

:108000000000000300000000000603000304030456
:108010000605030303030404000000000000000041
:10802000000000000000000001000000000000014E
:10803000FFFFFFFFFFFFFFFFFFFFFFFF0202020244

пожалуйста, помогите мне
Спасибо

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

Явный Параметр
Dim con как новое соединение ADODB.
Dim rs как новый набор записей ADODB.
Тусклый баф как струна
Dim ff как целое число

Частная суб configure_Click()

Формы Form2.Показать

Конец Подводной Лодки

'Private Sub Form_KeyPress(KeyAscii Как Целое Число)

'MSComm1.Выход = KeyAscii
'MSComm1.PortOpen = False

-Конец Субмарины

Частная Субмарина MSComm1_OnComm()

MSComm1.Settings = "115200,N,8,1"
MSComm1.DTREnable = True
MSComm1.RThreshold = 1
MSComm1.Rtsen = True
MSComm1.SThreshold = 1
MSComm1.InputLen = 1

Выбрать MSComm1.Событие commevent
Кейс comBreak
MsgBox ("Перерыв Получен")
Дело comCDTO
Дело comCTSTO
Дело comDSRTO
Корпус comFrame
Дело comOverrun
Дело comRxOver
Случай comRxParity
Дело comTxFull
Дело comEvCD
Кейс comEvCTS
Дело comEvDSR
Дело comEvRing
Дело comEvReceive
MSComm1.Выход = buf
Дело дошло до конца
Конец Выбрать

Конец Подводной Лодки

Частная суб download_Click()

Если MSComm1.PortOpen = True, То

С CommonDialog1
.InitDir = Приложение.Путь
.имя файла = ""
.Фильтр = "Файл Hex (*.в шестнадцатеричном виде)|*.наговор"
.ShowSave

ФФ = FreeFile
Открыть.Имя файла для вывода в виде #ff
Напишите #ff, buf
Закрыть #ff

Конец С
Конец, Если

Конец Подводной Лодки

Richard MacCutchan

Где находится код для считывания с устройства? Вы также должны читать в необработанных байтах, так как это то, что обычно передается по линиям связи.

Member 13396059

Частная суб opencmd_Click()

MSComm1.CommPort = 4
MSComm1.Settings = "115200,N,8,1"
MSComm1.PortOpen = Истина
lblstatus.Подпись = "Открыть"
lblstatus.Свойство forecolor = &ампер;HC000 усилителя;

Конец Подводной Лодки

Частная Суб Receive_Click()


Тусклые данные как вариант
Дим ФФ

Делать
ФФ = FreeFile
data = MSComm1.Ввод
Откройся "C:\Data.hex" для добавления как #ff
Print #ff, data
Закрыть #ff

Цикл, Пока MSComm1.InBufferCount = 0 'до тех пор, пока в буфере есть данные, или возвращает 0, если пользователь нажимает кнопку "закрыть порт"

Конец Подводной Лодки

когда я использую этот код я получаю распечатку 1
но не получая шестнадцатеричный код

Richard MacCutchan

"но не получение шестнадцатеричного кода"
Нет, потому что устройство будет посылать необработанные байты.Вы должны проверить документацию устройства, чтобы увидеть, что возвращается.

Member 13396059

хорошо,большое вам спасибо ... я проверю документ

0 Ответов