我看過上篇【fluke 45無法讀資料】中的討論內容也無法理解其錯誤的原因,
就以下面一個例子說明我的問題。
程式:RS232-two com port.vi (Labview 7.0版本的)
程式內容:把com1的資料傳至com2顯示出來
問題:程式直接run的時候經過裡面timeout的時間後,會出現以下圖示的錯誤,
此問題出現在com2 read 的部份,
而若使用【燈炮】模式下執行,則無錯誤。
請問:1、timeout這個引數是做什麼用的呢,大小限制如何定義?
2、以上的error為什麼會產生,如何在直接run的情況下正常?
3、Com2的接收應該是是根據com1中pin4 (DTR)這腳位的high
or low 而接收資料,如何抓取com1的pin4這腳位來看呢?
ps:第一次使用RS232,很多不懂的部份,麻煩請各位大大解惑一下
謝謝大家~~
RS232的線有沒有跳線?
試試2,3pin跳線,程式部分不使用Flow control(None).
[QUOTE=小小羊兒]
RS232的線有沒有跳線?
試試2,3pin跳線,程式部分不使用Flow control(None).
[/QUOTE]
我的有跳線了唷,
程式部分不使用Flow control(None).??這句話的意思是?
然後我把程式改為以下:RS232-two com port.vi
不知道大家若run此程式是不跟我有一樣的錯誤呢?

目題解決了~~使用sequence structure來確定com1把資料傳至buffer,
再由com2來接收。
但第二個問題:Com2的接收是根據com1中pin4 (DTR)這腳位的
high or low而接收資料,如何抓取com1的pin4這腳位來看呢?
另外的問題就是使用這樣的寫法怪怪的,
關於裡面timeout這引數,會影響我們傳輸及接收的速度,
我將其設定為1ms,但還是非常的慢,而com2有時候值還是沒接收到,
還有...有人試過使用labview抓取rs232資料,最大的頻寬是多少呢?
RS232-two com port_1.vi
peterrabbit38468.5228240741
ancle
(ancle)
#6
[QUOTE=peterrabbit]
1.目題解決了~~使用sequence structure來確定com1把資料傳至buffer,
再由com2來接收。
2.但第二個問題:Com2的接收是根據com1中pin4 (DTR)這腳位的
high or low而接收資料,如何抓取com1的pin4這腳位來看呢?
[/QUOTE]
1.將General error handler.vi的error out接到VISA Configure serial port.vi的error in即可,如下圖

2.在硬體部份可以接個LED做顯示
[QUOTE=ancle][QUOTE=peterrabbit]
1如何抓取com1的pin4這腳位來看呢?
[/QUOTE]
1.將General error handler.vi的error out接到VISA Configure serial port.vi的error in即可,如下圖

2.在硬體部份可以接個LED做顯示
[/QUOTE]
這位大大你好,你說的第一點也不可行唷,它也會在timeout的時間裡出現error
我上一個回答有做出來了,但就是讀值都很慢,這樣抓資料的話~
恐怕會取不到值。
ancle
(ancle)
#8
那你可以將VISA configure和Close放到while loop的外面
RS232-2 com port_modified.vi
[QUOTE=ancle]
那你可以將VISA configure和Close放到while loop的外面
RS232-2 com port_modified.vi
[/QUOTE]
對喔~~我忘了硬体只要設定一次就好了,cc
謝謝你的提醒嘍~~^^下次會注意的了~~