Robofun 機器人論壇

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

[請益]RS-232:BS2接收問題

[複製鏈接]
跳轉到指定樓層
1#
發表於 2010-1-26 18:42:21 | 顯示全部樓層 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最後由 robot2009 於 2010-1-26 18:43 編輯

以下程式就是要從人機端  送值給bs2 ,bs2收到值後後把sData內所存到的值拿來做LED是否亮起!!

請問要從人機端下值給BS2我在人機端傳給他的值是0x33這樣的

BS2上他sData 到底是接收什值? 原本是想說SERIN 14, 16468, [DEC sData]  就值接把收到的值 直接轉成10進制 在拿它來做IF ELSE 的判斷.

ps.  bs2上  IF ( sData> 0 )THEN HIGH 15
       sData>0 那個0指的是十進制沒錯八?

想請問人機端應該要傳什麼值? 目傳人機端是給它 一個 buffer,   Send[0] = 0x33;
而BS2端我下面這樣設定對嗎?!


' {$STAMP BS2}
' {$PBASIC 2.5}
sData   VAR     Byte

Main:
DO
SERIN 14, 16468, [sData]                       ' baudmode set for BS2
DEBUG  sData

  IF ( sData> 0 )THEN
  HIGH 15
  ELSEIF ( sData<3) THEN
  LOW 15
  ENDIF


  LOOP
  END
2#
 樓主| 發表於 2010-1-29 11:46:29 | 顯示全部樓層
Q1.   0x33    BS2是不是看不懂阿?!

在人機端這邊 給他 0x33 應該是代表十進制的51八?!

我發現如果這樣弄好像會爆掉...因為ASCII只到7F 十進制的值相對也只到127~

如果我是弄超音波不就最遠能判斷的值只到127公分!!

Q.如果我只是要把電腦端的所偵測到的十進制值,回傳給BS2 然後在BS2端寫死馬達程式,也就是LOW與HIGH 來控制馬達(馬達是用另一塊PIC所寫,因此只要能成功在BS2端都到一個能讓BS2所判斷的值,就可驅動馬達了),BS2能否直接接收?!!

#目前以經可以把SENSOR的值傳給PC 在PC端,如果測到221公分那PC端就是真的收到221公分
   不是"2" "2" "1" 這樣分開的.

#我只是想把我所偵測到的值丟回給BS2 因此我用16進制,不就會因此而爆掉?(因為16進制去對應在ASCII上只能對到127)
3#
 樓主| 發表於 2010-2-2 13:47:19 | 顯示全部樓層
本帖最後由 robot2009 於 2010-2-2 13:51 編輯

miaoichi 大大 我剛剛看了一下你說什過去他他就會收什!?

也就是說人機端傳給他的值是150(十進制沒錯八?!)

BS2上他sData 到底是接收什值->就是150摟?

因為我一直不能確定到底他是收到什麼值?

我剛剛才發現 我插在搭載板上的RS232 他會接收到超音波抓到的值 在傳給PC端 這時後他是使用了

BS2上面SIN(也就是RS232的Pin3)(傳送端)

那也就是說BS2上的SOUT(也就是BS2的接收端)


那我要接收SERIN ?, 16468, [sData] (問號的地方 腳位要給多少呢?)

我想這應該是我不送資料給BS2的原因八?!


ps.如果單純看 SERIN ?, 16468, [sData] 就是說透過?號角位 把值丟進[sData]

    那這樣在bs2內把sData拿來做判斷對八?!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-17 02:58 , Processed in 0.102217 second(s), 7 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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