Мой SparkFun RS232 Shifter SMD неисправен?

Ссылка на продукт

Я подключаю это к Arduino. (после того, как Arduino запрограммировал, я удалил разъем USB, так как он разделяет последовательную связь с контактами 0 и 1)

RS232<->Arduino
VCC <-> 5V
GND <-> GND
TX <->Pin0(RX)
RX <->Pin1(TX)

Кажется достаточно простым. Однако, когда я подключил порт DB9 к фактическому последовательному устройству, я мог ясно видеть, что последовательные данные отправляются на RS232 (светодиод RedRX был активен), но ничего не возвращалось с фактического устройства, к которому я подключался.

Так...

Затем я подключил устройство к своему ноутбуку и гипертерминалу, чтобы проверить, могу ли я с ним общаться. Отправлял те же самые команды, которые я заставлял Arduino делать... И да, я получал правильные ответы от устройства.

Затем я подключил Arduino + SparkFun RS232 к Hyper-Terminal и загрузил в Arduino базовую программу, которая а) отправляет приветственное сообщение, а затем б) отправляет сообщение каждый раз, когда получает символ через последовательный интерфейс (один из примеров скетчей Ардуино). В результате я получаю только приветственное сообщение, SparkFun RS232 не видит ничего, что я отправляю обратно из Hyper-Terminal.

Это неисправно или я упускаю жизненно важный трюк, чтобы заставить его работать правильно?

Спасибо за любую помощь.

edit: я также должен добавить, что сегодня утром я проверил контакты 0 и 1 с помощью простого эскиза мигания светодиода, чтобы доказать, что контакты arduino функционируют (а они были).

Это Kellenjb. Мне трудно понять, какие кейсы работают, а какие нет. Вместо того, чтобы писать длинный и сложный для понимания комментарий или ответ, который не является ответом, я добавлю его сюда, и пусть ОП или кто-то другой поправит меня, если я неправильно понял.

Arduino Sparkfun Shifter -> Serial Device (No Go)
Serial Device -> Arduino Sparkfun Shifter (Go)

Serial Device -> Laptop (Go)
Laptop -> Serial Device (Go)

Arduino Sparkfun Shifter -> Laptop (Go)
Laptop -> Arduino Sparkfun Shift (No Go)
@MattJenkins @vicatcu, пожалуйста, проверьте мое редактирование вопроса и посмотрите, правильно ли я понял. Спасибо!
У вас есть осциллограф или логический анализатор, который может определить, делают ли сигналы то, что должны?

Ответы (2)

Sparkfun — это что-то вроде хакерского устройства, которое на самом деле не выполняет должного переключения уровня RS-232. Вместо этого он использует напряжения с другого конца для зарядки конденсаторов, чтобы использовать их для передачи напряжения - умная идея, но я могу предвидеть недостатки, если другой конец не посылает достаточно высокое напряжение...

Я бы порекомендовал отказаться от sparkfun и использовать MAX232 или подобное устройство для реального переключения уровней.

Это вполне может иметь место, особенно если это «последовательное устройство» не является полноценным компьютером.
но он даже не может получить данные с ноутбука...
Возникает вопрос - на что похож RS232 ноутбука? Это дает полный ± 12 В или ТТЛ? Это встроенный или USB-ключ? Были ли опробованы другие устройства RS232?
Последовательный порт на ноутбуке представляет собой кабель USB-последовательный порт (я полагаю, что нет никаких шансов ± 12 В От этого. И, судя по всему, настоящее устройство не дает мне ± 12 В или. Я воспользуюсь советом и соберу свой собственный с MAX232. (Сообщите вам результат
Я использую USB-ключ для RS232, и он изо всех сил пытается дать мне ± 7 В ...
Я последовал совету Мэтта и построил свой собственный с микросхемой max232. Решил проблему. Это для инсайтов!
@RichardFreedman - Может быть, вы примете ответ Мэтта и проголосуете за него.

Убедитесь, что ваши провода к Arduino имеют хорошие электрические соединения. Кроме этого, я не думаю, что вы действительно могли что-то упустить... Возможно, вы пробовали более медленные скорости передачи данных (например, 2400)? Если это не плохие провода или соединения, я бы сказал, что ваш SMD действительно виноват.

Я использую штекерные разъемы, которые вы использовали бы для подключения экрана к верхней части Arduino. Да, я тоже пробовал более медленные скорости передачи данных - тот же результат.
(Непрерывность проверена на всем пути от зеленого светодиода rs232 до Arduino)