2013-07-12 51 views
4

我想通過使用Matlab的串口發送TTL信號。我只需要向設備發送1個值,所以它應該是一個非常簡單的過程。我的問題是,我不知道我是否沒有正確地做到這一點,或者如果設備沒有處理信號。我的代碼是這樣的:在Matlab中通過串口發送TTL信號

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

看起來沒問題。但是,我不確定'serial'是否區分大小寫,最好使用大寫字母'COM1'。我還建議首先使用串行終端(如超級終端),以確保設備在另一端的設備正確響應。 –

+0

@EitanT,謝謝,串口實際上不區分大小寫,因爲我可以從端口讀取信號。如您所說,我會查看超級終端,因爲它必須是沒有響應的設備!感謝您的幫助 –

+1

我建議使用X-CTU來調試串行設備。它有一些非常有用的功能。做一個谷歌搜索它;應該有Digi的網站下載。 –

回答

11

我不認爲你可以使用實際的串口輸出TTL,因爲這是RS-232,而不是TTL邏輯電平。如果你使用串口,​​你需要一個轉換器,如this。如果您使用的是FTDI驅動器/ USB電纜,它已經輸出TTL邏輯電平,並且代碼對我來說很好,這意味着該錯誤可能在設備端。

+0

感謝您的輸入,我想問題出在設備上,所以我無法發送信號。但是,謝謝! –