請問利用rs232傳送資料(附.vi檔)

可否請教各位關於"RS232 資料位置會亂跳"這篇內容裡面作者提到

引述原作者"yang713"

問題解決哩

原來LV讀取的是BUFFER

所以8051一開始要送標頭檔

EX:FF F0 資料 資料 資料

所以讀取到檔案時先判斷標頭檔後再進行資料讀取

這樣就可以確保資料的位置不會亂跳哩^^
 

其中"標頭檔"是什麼意思呢,以他的程式為範例要如何修改程式加進標頭

檔呢?(我今天的目的是要送出資料也需要修改嗎?)

可否請問您知道從哪裡可以找到更多地LV傳送到8051的資料呢?

附上一篇我的程式請各位過目

如果看不到圖網址是

![](upload://qRoSVj7y0AULtWPN6qBfdVYuqD5.jpeg)

其中的error是因為我目前沒有使用RS232造成的嗎??

這各程式可直接傳送給8051使用嗎???

感謝您耐心的看完

附上.vi檔 rs232.vi

你是否有安裝VISA的驅動程式?

http://joule.ni.com/nidu/cds/view/p/id/831/lang/zht

[QUOTE=ancle]

你是否有安裝VISA的驅動程式?

http://joule.ni.com/nidu/cds/view/p/id/831/lang/zht

[/QUOTE]

謝謝ancle前輩的提醒,我剛剛已經安裝了^^

若我程式寫好後,做成安裝檔,裝在其他沒有labview的電腦,也需要安裝labview或者visa的驅動程式才能使用嗎??

在包裝成安裝檔時裡的選項見下圖就可選擇相關driver或runtime engine

![](upload://ovf3aOOyafm7OnskpwqBL5j8oIz.jpeg)

[QUOTE=ancle]

在包裝成安裝檔時裡的選項見下圖就可選擇相關driver或runtime engine

 

[/QUOTE]

明白了,謝謝:)

基本上是可以的

所謂的"標頭檔"就是將資料中不太可能連續出現的資料數值當做判斷碼

FF F0  <<<這兩比資料不太可能連續出現

所以我要送出"Y" "E" "S"三比資料則要寫成

FF F0 Y E S

將FF 和 F0做為判斷

LABVIEW重RS232讀到資料後

先判斷第一比資料是否為FF

再判斷第二比資料是否為F0

若都正確>>則讀取5比資料(FF F0 Y E S)

在利用ARRAY取出YES三個字

若錯誤>>則要求MCU再傳送一次

反之~~重PC送資料到MCU也是如此

不知小弟我解釋的清不清楚

若有誤人子弟的地方多多包含~~謝謝

十分的感謝yang713、ancle兩位前輩以及各位板友

我剛剛已經連接單晶片測試成功了

在port1可以送出訊號了

但是還有一個疑問我觀察port1

每各bit所代表的是1 2 4 8 10 20 30

並不是我想像的1 2 4 8 16 32 64

2的次方,該如何糾正呢? 謝謝各位^_^

你應該是資料型態弄錯哩

有I8 I32 U8 U32.....等等

按CTRL+H去看看吧

就知道資料範圍哩

如-127~128

0-255.....等等

自己加油站哩

 

[QUOTE=yang713]

你應該是資料型態弄錯哩

有I8 I32 U8 U32.....等等

按CTRL+H去看看吧

就知道資料範圍哩

如-127~128

0-255.....等等

自己加油站哩

 

[/QUOTE]

謝謝提醒,我今天已經改成I8了(8bit整數)但結果還是一樣,我說的詳細點好了

port1輸出共有8bit

但我所對應的("1"亮燈、"0"暗燈、"2"微亮)

0:11001111

1:11001110

2:11001101

3:11001100

4:11001011

5:11001010

6:11001001

7:11001000

8:11000111

9:11000110

10:11001111 (並非11000101)

11:11001110

12:11001121 出現微亮

13:11001120 出現微亮

14:11001211 出現微亮

15:11001210 出現微亮

剛剛在接上USB轉RS232變得更亂了(筆電沒有串列埠所以使用usb轉rs232)

請問各位前輩有方法能看到目前串列埠所傳送的資料嗎?

0:11111001

1:10011000

2:11001100

3:10011001

4:11100110

5:10011010

6:11001101

7:10011011

8:11110011

9:10011100

10:11111001

11:10011000

12:11021100

13:10011001

14:11122110

15:10011010

Hi All ,
 同樣是RS232 的問題!   有人有遇過筆記電腦 跟 桌上電腦不相容的 怪現象嗎?
我是透過USB 轉Rs232連到8051
 我用 "RS232 資料位置會亂跳" 文章裡的vi 跟 ASM ,build 成EXE 檔 ,然後灌 Run-time Engine,
 在PC Run 的好好的! TX/RX 都沒有問題!
 然後 再重覆步驟灌到 筆記電腦 , 可以 run 但是,怪了,一直收送不到 ,
檢查裝置管理員 跟 VISA resource name !
怪了!! VISA 居然抓不到USB 模擬的COM port !!

比較下面2張圖 :
PC 上 VISA resource 看得到 COM4

NoteBook 上 VISA resource 看不到 COM4

我已經 試過2台 PC ,3台 NoteBook (IBM/華碩/Acer)

有人有看法嗎?

3Q!! 

[QUOTE=Albert168]

恕刪...

NoteBook 上 VISA resource 看不到 COM4

[/QUOTE]

你可以試看看將VISA resource name這個control刪除再重新create一個新的control看看

Hi Ancle ,
感謝 !! 不Work !

但 我 看了上面說要更新VISA 驅動程式,

我 試著更新 NI -VISA 到那幾台 Note_Book ,(死馬當活馬醫),

我安裝VISA的驅動程式是4.3 版:

http://joule.ni.com/nidu/cds/view/p/id/988/lang/en

online run 可以了 (配LabView) , EXE 檔重新在 update 過VISA4.3的機器Build 就可以執行了!!

可以帶出門去demo 了 !!!

3Q AV8D !