大家好:
我最近在使用Arduino模組與APC220無線通訊模組
以LabVIEW的VISA將兩者串聯起來
我在Arduino寫了一個簡單的程式,當收到"b" LED燈就會亮起1秒
在以一個簡單的VISA迴圈做測試
在High ligh Execution測試下是OK,沒有錯誤
不過我的Arduino版上的LED燈並沒有亮起
我的無線通訊口是COM 6
因為在Arduino 內部測試我的無線模組是可以使用的
但在LabVIEW通訊上就是不行
請大家指點指點
謝謝~
已解決! 轉到解決方案。
在 09-17-2012 01:22 AM
您的 labview VI 顯示不斷的將 b 寫入 com
建議您把迴圈移除
有關 labview 教學
請參考
你好:
我之前也試過此種方式的迴圈不過還是一樣
我Arduino模組上的LED,並沒有因為接受到字串指令
而有亮燈,LabVIEW上也沒有出現錯誤,傳輸的過程都是顯示OK的
因為我用此種方式通訊在有線(RS232)的狀況下是可以正常動作的
想請問無線的通訊是否需要另外設定甚麼呢?
在 09-17-2012 08:10 AM
請問無線通訊的協定是哪一種?
如果不是 rs-232 當然會失敗
謝謝你
我試過狀況還是一樣
感謝你的幫忙
你好:
我的無線模組的通訊方式是UART/TTL
UART 不是也是一種RS-232的傳輸介面嗎
所以我是直接用VISA模組進行兩者的通訊
在 09-18-2012 03:06 AM
剛剛看了你的程式,Arduino端一直在Loop裡面Read並判斷讀到的字串是否為b。
LabVIEW端一直在Loop裡面Write,這樣當然不能用。
因為你兩邊的Loop速度不同。
Arduino那邊的程式你可能要改寫成read到b一次之後LED就恆亮,而不是每圈loop都檢查。
先前介紹你用MAX做PC端的測試,基本上送b過去Arduino,在MAX裡面也是一次性送出的動作而已,不是放在迴圈裡面Write多次的做法。
Arduino的程式架構建議您到Arduino的論壇上面詢問會比較清楚。
Ting1224 您好:
感謝您的回覆
關於您所說的我不斷的重複送出"b"字串 這樣是不行的
因為我Arduino與LabVIEW 的Loop的速度是不一樣的
之前有做過在Arduino程式裡
將Arduino 的Loop 的delay時間設為與LabVIEW Loop一樣的速度
並將VISA中的Write 模組的write buffer 改為Control 輸入元件
在有線(RS-232)的測試下,是我每次輸入"b"並按下enter之後
LED燈才會亮1秒,但在無線模組測試下就沒有回應
想了解是否還有其它錯誤?
謝謝