Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 6142|回復: 16

請教BS2語言上的問題

[複製鏈接]
發表於 2012-9-6 15:12:50 | 顯示全部樓層 |閱讀模式
DEBUG CLS
' -----[ Main Routine ]----------------
DO
GOSUB ADC_Data
GOSUB Calc_Volts
GOSUB Display
LOOP
' -----[ Subroutines ]----------------
ADC_Data:
HIGH CS
LOW CS
LOW CLK
PULSOUT CLK, 210
SHIFTIN DataOutput,CLK,MSBPOST,[adcBits\8]
RETURN

這是我們程式上的某一段  本身是第一次接觸bs2  想請問在程式中的PULSOUT CLK, 210 這段話是說  
送出第一個時脈 想請問 後面的210
是什麼意思呢 是只送出一個時脈的時間嗎還是有特別意義?懇請解答
發表於 2012-9-6 15:21:57 | 顯示全部樓層
PULSOUT解析度是2us   
所以 clk,210 就是指送2x210 =420us脈衝寬到pin clk那個腳位

原文
PULSOUT         Output a timed pulse by inverting a pin for
                           some time (resolution of 2  µs).
 樓主| 發表於 2012-9-6 21:32:44 | 顯示全部樓層
解析度是2us  這個是什麼意思呢?
而420us脈衝寬 是說一個時脈的時間嗎?還是?
不太懂脈衝寬的意思
發表於 2012-9-7 01:03:40 | 顯示全部樓層
送一個維持420us高態的訊號波過去
這是基本電學知識

解析度的意思就是該指令每個單位可以表達 2us
所以送210 = 210*2us =420 us

我覺得你應該先看BS2的規格書
而不是先看範例喔
 樓主| 發表於 2012-9-7 02:52:19 | 顯示全部樓層
謝謝版主的回覆跟指導

不知道版主有bs2的規格書的網頁介紹嗎

很多都看到是英文的 不知道怎讀

麻煩版主
發表於 2012-9-7 15:24:58 | 顯示全部樓層
http://www.playrobot.com/cart/sh ... ;Fno=&date_buy=
BS 系列主要只有英文版
若真的不想搞定英文
就找飆機器人吧
他們的套件就有附中文說明

不過個人覺得..想學會程式還是別排斥英文比較好
很多東西用中文翻譯並不OK
 樓主| 發表於 2012-9-7 16:08:37 | 顯示全部樓層
嗯嗯 謝謝版主

想在問一下板主

哪這邊的210 只是範例中所設的時間

並沒有其他意義對吧

我可以自己去更改 而得到新的脈衝寬

有上下限的問題嗎?
發表於 2012-9-7 17:26:46 | 顯示全部樓層
對..就是時間
看不太出來他是要控制什麼

但上下限就要找原廠文件來翻了
我也不曉得上限到哪裡
下限就是2us
上限有可能是 int的極限 65535 x 2us = 130.000ms =0.13秒
或是long 的極限 42億x2us =.... <-- 一般不太可能弄到這麼久
文件應該是一定會找的到
 樓主| 發表於 2012-9-8 00:24:58 | 顯示全部樓層
謝謝版主 的回覆
 樓主| 發表於 2012-9-12 23:11:25 | 顯示全部樓層
板主 想請問 妳知道 bs2到MATLAB的連接嗎?
想讓他 可以跟PC做連接 而不是只有在BS2的平台
發表於 2012-9-12 23:53:19 | 顯示全部樓層
用RS232
利如開啟及設定COM1
rs232drv = serial('COM1');
設定鮑率及資料格式、同為元檢查、停止位元等等
rs232drv.BaudRate = 9600;
rs232drv.DataBits = 8;
rs232drv.Parity = 'none';
rs232drv.StopBits = 1;
rs232drv.FlowControl = 'none';
然後把rs232drv這個當作擋案開啟
fopen(rs232drv);
等待來自BS2的資料
fscanf(rs232drv)
 樓主| 發表於 2012-9-13 22:43:25 | 顯示全部樓層
好的   我再去嘗試連接 看看

第一次接觸有很多的不懂 感謝各位回覆
 樓主| 發表於 2012-9-14 20:16:26 | 顯示全部樓層
我嘗試去連接 BS2和 MATLAB

使用了上述的方法

出現了下面這段英文
不懂為什麼會這樣
Error using serial/fopen (line 72)
Open failed: Cannot connect to the COM5 port. Possible reasons are another
application is connected to the port or the port does not exist.

我檢查了連線
rs232drv

Serial Port Object : Serial-COM5

Communication Settings
Port: COM5
BaudRate: 19200
Terminator: 'LF'

Communication State
Status: closed
RecordStatus: off

Read/Write State
TransferStatus: idle
BytesAvailable: 0
ValuesReceived: 0
ValuesSent: 0
看不出哪邊有了問題
有人遇過這個狀況嗎
發表於 2012-9-15 11:48:06 | 顯示全部樓層
Cannot connect to the COM5 port

這句話的意思是...COM5 有人在用了
可能是某個程式
可能是你的程式之前開了沒有CLOSE
甚至可能電腦根本沒有COM5
檢查一下吧
 樓主| 發表於 2012-9-15 15:16:53 | 顯示全部樓層
嗯嗯 發現到BS2已經使用了COM5
我再換個試試看
感謝 回覆
 樓主| 發表於 2012-9-15 22:22:52 | 顯示全部樓層
想請問一下
我們是把資料經過bs2轉換
然後使用USB跟電腦連接
我們想要和 MATLAB 連接
去讀取bs2轉換後的資料
這樣我們還是需要使用上述的rs232的程式嗎?
 樓主| 發表於 2012-9-17 16:31:15 | 顯示全部樓層
再思考
要讓bs2的資料讓MATLAB
能讀取到
是不是還需要做解碼的動作?
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2021-1-28 06:52 , Processed in 0.181348 second(s), 7 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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