綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[求助] Eclipse bluetooth 傳輸問題

[複製連結] 查看: 4328|回覆: 29|好評: 0
跳轉到指定樓層
用點心 | 收聽TA | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
發表於 2014-8-5 10:32
50碎鑽
本帖最後由 用點心 於 2014-8-5 10:34 編輯

小弟最近在做手機與89S52的藍芽傳輸
手機端的藍芽APP是自己改寫的
遇到傳接值一些瓶頸
我希望的功能是當我89S52一直按著一個按鍵時
就會傳個值到手機手機便開始倒數
如果按鍵放開倒數計時就會停止

遇到的問題是:
當我89S52一直按著一個按鍵時
89S52便一直傳值
例如我設倒數五秒
當我一直按著一個按鍵時
手機便接收到我要倒數五秒的值
但是他卻一直不斷傳倒數五秒的值
所以手機就是一值產生新的計時器

希望板上的高手大大幫幫忙


「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)
收藏收藏 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

29
deathrid | 收聽TA | 只看該作者
發表於 2014-11-8 19:54
改 BT device 端可能比較複雜一點, 你可以貼出你 Android device 端的 code,
基本的想法是這樣, 樓上也有大大回答過了,
當 Android device 收到 Bt device 的 trigger 時,
你可以透過 flag或是其他機制,
暫時不要取值, 等待你 倒數完畢, 重新 reset flag即可.
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

28
drcs | 收聽TA | 只看該作者
發表於 2014-10-16 21:03
選擇c code 或是 Android code 內擇一,加入一個全域參數A用來判斷是否發送或是執行要求

1.(如果修改c code端)
就找發出要求訊息的地方加入if(全域參數A == false)就發送並變更全域參數A為true
因為看起來c code是用循環的方式讓他自己跑,那麼if段就應該是加在數5秒的第5秒
而將全數參數A變更回初始狀態false就要靠監聽是否被作動來修改,可加入訊息是否完成的判斷
或是讓Android端發送回條通知已完成動作

2.(修改android code端)
就簡單一點直接對產生計時器的地方加入if判斷式,並監聽程序是否完成該歸零全域參數A初始值false

看你哪邊的code比較熟就改哪邊吧
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

27
 樓主| 用點心 | 收聽TA | 只看該作者
發表於 2014-8-27 12:53
CarolHsieh 發表於 2014-8-26 18:03
這是連結

上面連結中有說

謝謝~
不過我好像不會用欸
他說"需要在onresume的狀態下去註冊wifi 與 bluetooth 狀態改變所發出的Broadcast事件"
我照貼下面的程式碼
然後把WIFI部分拿掉
但是好像無法
APP一開就直接掛掉了
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

26
CarolHsieh | 收聽TA | 只看該作者
發表於 2014-8-26 18:03
這是連結

上面連結中有說
利用BroadcastReceiver接收bluetooth狀態變化的部分
你試試看能不能讓app判斷按鍵的事件
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

25
CarolHsieh | 收聽TA | 只看該作者
發表於 2014-8-26 17:28
你知道
KeyEvent
這個東西嗎??
好像是拿來判斷藍芽端的按鍵動作的
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

24
 樓主| 用點心 | 收聽TA | 只看該作者
發表於 2014-8-26 13:38
CarolHsieh 發表於 2014-8-26 13:28
嗯.....我再想想...

謝謝大大~
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

23
CarolHsieh | 收聽TA | 只看該作者
發表於 2014-8-26 13:28
用點心 發表於 2014-8-26 13:21
不行欸~
我目標的功能是
我有一個計數器

嗯.....我再想想...
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

22
 樓主| 用點心 | 收聽TA | 只看該作者
發表於 2014-8-26 13:21
CarolHsieh 發表於 2014-8-26 12:49
那個紅色虛線是我照你的handle裡面的打的
我不知道你的handle中斷線的判斷是哪一個 ...

不行欸~
我目標的功能是
我有一個計數器
假設我設五秒
我一直按著感測器計數器就會開始倒數
但我如果放開感測器 計數就會立即中止

可是我現在的狀況就是一直按著感測器
計數器卻一直不斷傳新的計數值
而放開後計數器也不會停止
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

21
CarolHsieh | 收聽TA | 只看該作者
發表於 2014-8-26 12:49
用點心 發表於 2014-8-26 12:14
請問 bluetooth那個紅色虛線我應該打什麼
是我藍芽的名稱還是MESSAGE

那個紅色虛線是我照你的handle裡面的打的
我不知道你的handle中斷線的判斷是哪一個
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

20
 樓主| 用點心 | 收聽TA | 只看該作者
發表於 2014-8-26 12:14
CarolHsieh 發表於 2014-8-26 11:32
把 byte[]readBuf 定義在外面,如圖中上面小圈圈起來的部分

Handler 部分

請問 bluetooth那個紅色虛線我應該打什麼
是我藍芽的名稱還是MESSAGE
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則