USB to RS232 on mac os x

年初畢業之後,很幸運地在某一個研究單位找到工作。

因為某些原因,我可能會需要用電腦來控制Eurotherm的溫控器2404。

這台溫控器可以透過RS232來和他通訊,但是你知、我知、獨眼龍也知,MBP上面是沒有RS232的。

幸好有USB轉RS232的轉接器。

所以我就去買了一個,安裝了Driver。

就在/dev/目錄下多出了兩個檔案: cu.usbserial 和 tty.usbserial

而這兩個檔案就代表了這個RS232 port。

然後就可以來試著連線看看了。

一開始先打開終端機,然後用screen 來讀取RS232 port:

$> screen /dev/tty.usbserial 9600 8N1

後面的9600指的是baudrate,8N1則是說,一個字8bit,無Parity bit,1個stop bit

老實說我也不太清楚這是啥,總之這是一個還蠻常用的RS232通訊設定就是了。

之後就可以看到終端機顯示一片黑,什麼也沒有。

上面這句真是廢話,因為沒有input從RS232來,所以當然什麼也沒有。

(有的話,是一件很可怕的事情。)

因為手邊剛好有一片很久以前買的Arduino UNO板子,所以我就很快的用它寫了一個小程式來反復送出"Hello World"。

然後把Arduino上的TX、RX、GND分別接到RS232接頭上的RX(pin2)、TX(pin3)和GND(pin5)。

然後終端機上就顯示了一堆亂碼..........

後來才知道,Arduino的TX, RX的訊號電壓和RS232是不一樣的,中間可以透過MAX232 晶片來做轉換。

所以,接上MAX232,喔~~~~"Hello World"


----

之後要注意的一點是,如果想用C寫程式來對RS232溝通的話。

open的檔案是/dev/cu.usbserial。

一開始我也是直接去open("/dev/tty.usbserial", ......),結果就是當在那邊了,當然系統沒當,只是終端機當了...。

不過在這兩天練習寫 serial 的 program,我才發現Arduino真是好物。

留言

熱門文章