各位前輩好
小弟目前要8051透過RS232傳輸溫度值到PC中,目前卡到8051與LABVIEW間的溝通不知如何下手,麻煩大大給小弟一點提示或範例!
小弟大致描述一下8051與LABVIEW間的溝通
首先LABVIEW啟動時希望能傳送一個數值給8051,跟他說可以傳送讀值了,
然後8051會回傳依數值給我,跟LABVIEW說他準備好了,
然後LABVIEW再傳送T1給8051...8051回傳T1溫度值給LABVIEW
依序傳T2.T3...,8051回傳T2.T3..的溫度值
小弟不知要從何下手,可以麻煩前輩給點意見嗎??
你需要使用VISA元件,在這之前你需要LABVIEW與8051使用RS232溝通的橋樑:MAX232。
請參考:http://www.alldatasheet.com/datasheet-pdf/pdf/27251/TI/MAX232.html
caeru40253.8158449074
各位前輩好
8051透過RS232傳送及接收數值,這部分我沒問題,我目前主要是卡到LABVIEW如何去傳送指令給8051,讓8051傳送我所需的數值給我
[QUOTE=jaappee32]<p =“forummessagetext_large”>首先LABVIEW啟動時希望能傳送一個數值給8051,跟他說可以傳送讀值了,
然後8051會回傳依數值給我,跟LABVIEW說他準備好了,
然後LABVIEW再傳送T1給8051...8051回傳T1溫度值給LABVIEW
依序傳T2.T3...,8051回傳T2.T3..的溫度值
[/QUOTE]
其實可以用RS232的硬體腳位來做傳輸準備的確認,
但是你的要求是用指令取得,所以用簡單的軟體概念配合TxRx來做。
8051要先處於空回圈,當接收到外界訊號時觸發中斷,8051收到這些字串進行拆開然後跳到對應的程式區塊。
然後兩者只要規劃好溝通指令,例如:
LABVIEW傳送@WT?,,然後8051傳回@RT,OK
LABVIEW傳送@WT,T1,,然後8051傳回@RT,(T1溫度值)/r/n
當LABVIEW收到字串帶有/r/n(結束碼)就知道接收訊號完畢,可以回傳@WT,OK,讓8051跳出接收的中斷回到原本程式去。
以上簡單例子參考一下,
至於LABVIEW如何去讀寫資料到RS232,
可參閱LABVIEW本身Example,關鍵字打 VISA ,可查到Advanced Serial Write and Read.vi
這個VI便足夠一般VISA操作使用了。