Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 6238|回復: 16
打印 上一主題 下一主題

用VB寫一個SRF05的應用程式問題

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-1-11 13:40:28 | 顯示全部樓層 回帖獎勵 |倒序瀏覽 |閱讀模式
是這樣.如果將SRF05的Echo output接RS232送到電腦去顯示
不知道該怎麼做
直接寫buf=MSComm1.intput
text1.text=buf
顯示出來都是亂碼...請問該如何去讀取Echo的資料?

[ 本帖最後由 cloud0812 於 2008-1-11 13:49 編輯 ]

3.JPG (94.6 KB, 下載次數: 455)

3.JPG
2#
 樓主| 發表於 2008-1-11 14:56:52 | 顯示全部樓層
嗯...剛剛發現他送出的訊號是PWM訊號
要測得頻寬去做轉換.看來應該沒辦法直接用VB量
3#
 樓主| 發表於 2008-1-11 18:15:28 | 顯示全部樓層
既然是PWM信號
那如果想用8051去測它的頻寬
該怎麼做呢?感謝
4#
 樓主| 發表於 2008-1-11 20:57:04 | 顯示全部樓層
何謂外部電路?..
SORRY......真的覺得自己很差
5#
 樓主| 發表於 2008-1-13 09:02:58 | 顯示全部樓層
如果要在同一顆8051中做到
1.10us輸出給SRF05(驅動SRF05)
2.ECHO計數器(測頻寬)
3.串列埠輸出(傳給VB去讀)
是不可能的嗎?好像每個都要用到一個計數器.而8051只有2個計數器對吧
6#
 樓主| 發表於 2008-1-20 15:10:11 | 顯示全部樓層
總算成功寫好8051了.可以用超級終端機讀到
現在要做的是把8051的值讀到VB上
VB部份該怎麼寫呢?
我是寫下面這裡.但是有錯= =
Private Sub MSComm1_OnComm()
buf = MSComm1.Input
Text1.Text = buf
End Sub
是不是我8051串列埠地方沒寫好
附上我的8051程式

超級終端TEST.txt

901 Bytes, 下載次數: 922

7#
 樓主| 發表於 2008-1-20 20:03:07 | 顯示全部樓層
其實也不算錯.因為8051會一直傳DATA到電腦所以寫buf = MSComm1.Input
Text1.Text=buf 顯示出來的不是固定一個數
而是一串.例如讀到距離為20時.顯示就是 20 20 20 20 20 20 20

現在有個問題是
我按command1會執行一個動作
按command2會執行另一個動作
如果在執行動作1時發現讀到的值小於20而必須做動作2
那麼該怎麼寫呢?

[ 本帖最後由 cloud0812 於 2008-1-20 20:55 編輯 ]
8#
 樓主| 發表於 2008-1-20 23:04:50 | 顯示全部樓層
但是...因為8051工作很快.所以每秒傳出很多次ECHO的值
如果用buf = MSComm1.Input      Text1.Text=buf 這樣的寫法
讀到的值顯示出來會像我的圖這樣
還有..我在每個動作後加buf = MSComm1.Input          Text1.Text=buf
會導致它動作出現問題.甚至當機-.-是不是我VB程式有問題

[ 本帖最後由 cloud0812 於 2008-1-20 23:08 編輯 ]

45.JPG (13.88 KB, 下載次數: 327)

45.JPG

VB.txt

5.69 KB, 下載次數: 1213

9#
 樓主| 發表於 2008-1-21 11:26:05 | 顯示全部樓層
找到問題了.是因為8051傳輸太快.導致於VB無法正常運作
感謝大大解惑
10#
 樓主| 發表於 2008-1-21 12:53:58 | 顯示全部樓層
我知道問題所在了
當8051傳送一個資料給VB時.他會將它存起來
然後當程式執行buf= MSComm1.Input時
VB則會將剛剛所存的資料一次傳給buf
那就是說當我8051程式傳輸資料(例如傳一個數字20)在VB未讀取出去之前又傳輸一次(20)的話
在執行buf= MSComm1.Input時.buf讀出的值將會是 20 20

但是我要做的是只讀一次也就是讀出第1次的20.那麼該怎麼做呢?

[ 本帖最後由 cloud0812 於 2008-1-21 16:50 編輯 ]

VB.txt

5.71 KB, 下載次數: 1025

您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-5-7 14:27 , Processed in 0.238124 second(s), 9 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表