PeaceIn 發表於 2012-5-22 16:38:34

Arduino如何利用Rx、Tx接發RS232訊號

各位好:
想一起和大家討論,如何利用Arduino Uno的腳位Rx、Tx來接發RS232訊號呢?

我已經有用一個範例程式測試過,如下:
void setup()
{
Serial.begin(9600); //串列埠功能使用初始化
}

void loop()
{
char c;
c = Serial.read();   //讀取電腦經由串列埠傳送的資料
Serial.println("HiHi");   //將收到的資料再回傳給電腦
delay(1000);         //延遲1秒
}


另外硬體連接方式如下:
Uno USB孔接電腦COM16
Uno Rx、Tx腳位分別連接RS232之Tx、Rx,之後將RS232連接電腦COM8

測試方法如下:

利用arduino-1.0,
程式"成功"燒入進去後(此時連接在COM16),
然後連接上RS232腳位,
打開Serial Monitor,
看到螢幕成功顯示"HiHi"後,在Tools欄將Serial Port改成COM8,
此時若也成功顯示"HiHi",則表示Rx、Tx腳位可發送RS232訊號(此時Tx燈閃爍)。

測試結果:
程式成功燒入進去,打開Serial Monitor,看到螢幕成功顯示"HiHi",
但在接上RS232腳位,將Serial Port改成COM8時,
Serial Monitor顯示的卻變成是亂碼。

結果討論:
由測試顯示,Uno至少可以傳送RS232訊號,但讀值卻是不正確的,
且此時驗亦無法知道如何接收RS232訊號。

所以~~~想請教大家:
如何成功利用Rx、Tx腳位"傳送"及"接收"RS232訊號並正確顯示出來呢?

感恩大家

miaoichi 發表於 2012-5-22 18:13:29

請問你的baud rate都有設對嗎?

PeaceIn 發表於 2012-5-25 11:08:50

有~~~ 都是9600 :) 可是還是接收到亂碼呢><

Curtiss 發表於 2012-5-28 20:13:29

COM8 是 RS232 位準還是 TTL 位準?

PeaceIn 發表於 2012-6-4 18:07:24

晶片的RX、TX腳位連接RS232接頭,另一頭則是USB連接電腦COM8。
請問這樣如何解決呢?
不好意思晚回了,感恩大家 :)

PeaceIn 發表於 2012-6-4 18:08:45

COM8是RS232 位準

Curtiss 發表於 2012-6-5 00:38:32

Arduino的 TX-RX 是TTL位準,不能直接與 RS232 連接。
建議換一條 USB-TTL(UART) 接線,取代原有的 USB-RS232 線。

PeaceIn 發表於 2012-6-12 16:43:29

感恩大家的回覆!!! 目前已準備買轉TTL,
我會試著努力後再和大家說明結果,感恩~~^^
頁: [1]
查看完整版本: Arduino如何利用Rx、Tx接發RS232訊號