2013-07-12 3 views
4

Я пытаюсь отправить сигнал TTL через последовательный порт с использованием Matlab. Мне просто нужно отправить 1 значение на устройство, чтобы оно было действительно простой процедурой. Моя проблема в том, что я не знаю, правильно ли я это делаю, или если устройство не обрабатывает сигнал. Мой код заключается в следующем:Отправить TTL-сигнал через последовательный порт в Matlab

mysignal = serial('com1'); 
fopen(mysignal); 
fwrite(mysignal,1); 
+1

Выглядит хорошо. Тем не менее, я не уверен, что если «serial» чувствителен к регистру, лучше писать «COM1» в верхнем регистре. Я также рекомендовал сначала использовать последовательный терминал (например, HyperTerminal), чтобы убедиться, что устройство находится на другом конце устройства, отвечает правильно. –

+0

@EitanT, спасибо, serial на самом деле не чувствителен к регистру, поскольку я могу читать сигналы от порта. Я буду смотреть в HyperTerminal, как вы сказали, так как это должно быть устройство, которое не отвечает! Спасибо за помощь –

+1

Я рекомендую использовать X-CTU для отладки последовательных устройств. Он имеет некоторые действительно полезные функции. Сделайте поиск в Google; должна быть загрузка с сайта Digi. –

ответ

11

Я не думаю, что вы можете выводить TTL с помощью фактического последовательного порта, так как это RS-232, а не ТТЛ логические уровни. Если вы используете последовательный порт, вам понадобится конвертер, например this. Если вы используете драйвер FTDI/USB-кабель, который уже выводит уровни логики TTL, и код выглядит хорошо для меня, что означает, что ошибка, вероятно, на конце устройства.

+0

Спасибо за ввод, я думаю, проблема в устройстве, поэтому я не смогу отправлять сигналы в любом случае. Но спасибо! –

Смежные вопросы