Помогите разобраться с COM и АЦП

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
gan
Открыл глаза
Аватара пользователя
Сообщения: 43
Зарегистрирован: Пн мар 24, 2008 15:36:17
Откуда: Сургут

Сообщение gan »

я ж выкладывал исходник
Контактная информация:
Реклама
Прорезались зубы
Аватара пользователя
Сообщения: 238
Зарегистрирован: Вт май 27, 2008 23:23:24

Сообщение Sounds »

Да только он у тебя для 8 выводов и с циклом, а мне надо как то сделать так чтобы только на второй ноге загоралось.
Реклама
gan
Открыл глаза
Аватара пользователя
Сообщения: 43
Зарегистрирован: Пн мар 24, 2008 15:36:17
Откуда: Сургут

Сообщение gan »

Sounds писал(а):Да только он у тебя для 8 выводов и с циклом, а мне надо как то сделать так чтобы только на второй ноге загоралось.
если нужен только один сигнал, зачем городить регистр сдвига? Управляй напрямую DTR или RTS. В самом начале мы это уже обсуждали.
Контактная информация:
Прорезались зубы
Аватара пользователя
Сообщения: 238
Зарегистрирован: Вт май 27, 2008 23:23:24

Сообщение Sounds »

Прошу помощи! Не как не могу отправить и принять данные через ком порт.
Ситуация такая:
Pin2(RxD) и Pin3(TxD) я замкнул между собой, и создал проект в visual basic 6.0.
На форме я разместил следующие элементы: Text1.text (то что в этой форме надо отправить на Pin3), Text2.text (в эту форму надо принять данные с Pin2), Command1 (это кнопка при нажатие на которую происходит обмен.)

Private Sub Form_Load()
MSComm1.CommPort = 3 ' номер порта
MSComm1.Settings = "9600,N,8,1" ' Параметры порта
MSComm1.PortOpen = True ' открываем порт
End Sub
Private Sub Command1_Click()
MSComm1.Output = Text1.Text 'Передаём данные из переменной A на Pin3
Text2.Text = MSComm1.Input ' считываем данные которые пришли на Pin2(ЗДЕСЬ ПРОБЛЕМА ОШИБКА: Error reading comm devise)
End Sub

Когда контакты разомкнуты то всё нормально.
Реклама
Эиком - электронные компоненты и радиодетали
Прорезались зубы
Аватара пользователя
Сообщения: 238
Зарегистрирован: Вт май 27, 2008 23:23:24

Сообщение Sounds »

Неужели некто не знает?
Реклама
Потрогал лапой паяльник
Сообщения: 327
Зарегистрирован: Пт фев 08, 2008 13:46:03
Откуда: Воронеж

Сообщение pirotehnick »

Я не знаю, что у тебя за библиотека, которую ты юзаешь, но обычно для приёма данных из порта вешается отдельный обработчик на событие прихода данных в порт. В твоём случае ты отправляешь данные в порт и сразу же их принимаешь, и если вызываемый метод сам не приостанавливает поток на время, необходимое для отправки данных в порт, то при незамедлительной попытке чтения, может возникнуть исключение в связи с отсутствием дынных для чтения. Попробуй вставить туда код проверки наличия дынных для чтения.

Либо у тебя возникают проблемы с синхронизацией потоков.
Но я точно не знаю.
Контактная информация:
Реклама
Прорезались зубы
Аватара пользователя
Сообщения: 238
Зарегистрирован: Вт май 27, 2008 23:23:24

Сообщение Sounds »

Библиотека стандартная Microsoft Comm Control 6.0
Вот посмотрите код, тут здесь всё работает:

Private Sub Form_Load()
MSComm1.CommPort = 3
MSComm1.Settings = "2400,N,8,1"
MSComm1.PortOpen = True

End Sub

Private Sub Timer1_Timer()
Text1.Text = MSComm1.InBufferCount 'Возвращает количество символов ждущих в получаещем буфере
Text2.Text = MSComm1.InBufferSize 'Устанавливает и возвращает размер получающего буфера в байтах
End Sub

У меня не как не получается считать MSComm1.Input в text3.text, когда я пытаюсь считать он мне выдаёт ошибку: Error reading comm devise
Считать я пытаюсь следующим образом: Text3.Text = MSComm1.Input

В чём может быть проблема, что я не так делаю?
P.S. Спасибо за помощь и за внимание!!!
Прорезались зубы
Сообщения: 220
Зарегистрирован: Пт авг 07, 2009 22:06:49
Откуда: Россия, Москва

Сообщение Mr.Denis »

У меня точно такаяже проблемма возникла как у Sounds!
Может кто нашёл выход?
Ответить

Вернуться в «Интеграция с ПК»