作者MasterChang (我愛ASM)
看板ASM
標題Re: [問題] 遠端控制mcu問題
時間Tue Sep 5 22:42:55 2017
以下均為猜測
是不是MCU一直發轉速訊息導致處理命令延遲了?如果你是用超時
發送的話?另外接收命令是用polling還是interrupt的方式做?
另外步進馬達驅動你是用驅動器還是用IO控制,裡面有沒有用到delay()
這類函數導致MCU響應緩慢?
轉速/感測器資料最好用post/get方式做,就是APP發送requet,MCU接收
後再發送資料會比較好,架構合理的話,對於APP顯示的響應是可以的。
其實APP上面資料0.2秒~0.5秒更新一次其實很夠了。
※ 引述《OwTaingJune (機械加魯魯)》之銘言:
: 各位前輩好:
: 我利用MCU控制步進馬達的轉速,並將目前轉速的值透過藍牙傳至APP作顯示
: 現在我在APP上面多加一個按鈕來遠端控制MCU,但發現MCU沒辦法做即時的動作
: 請問這部分要怎麼解決呢? (程式碼有包含其他的感測器的數值也會傳至APP)
--
不要問我從哪來,我只是一個浪跡天涯的工程師....
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.232.57.227
※ 文章網址: https://webptt.com/m.aspx?n=bbs/ASM/M.1504622579.A.ECF.html
1F:推 chuegou: 對喔 他藍牙不知道有沒有全雙工 09/05 23:01
2F:推 OwTaingJune: 接收命令是用polling,mcu取得全部感測器資料後 09/06 01:40
3F:→ OwTaingJune: 才發送資料給app 09/06 01:40
4F:→ OwTaingJune: 馬達是用io控制 裡面有delay 09/06 01:40
5F:→ OwTaingJune: 另外藍牙是全雙工的 09/06 01:42
polling已經就慢了,還要等全部感測器ready,反應慢是正常的吧!!
※ 編輯: MasterChang (118.232.57.227), 09/06/2017 21:08:31
6F:推 Archer55b6: 樓主點出問題了,MCU程式架構改一改吧 09/06 23:25
7F:→ Archer55b6: 接收用interrupt,再開個Timer去驅動馬達及收sensor 09/06 23:26
8F:→ Archer55b6: 主程式只負責看電源、開關機flag、運算sensor值較好 09/06 23:27
不知道OwTaingJune用的是哪種MCU,通常掛個FreeRTOS就容易切西瓜了。
※ 編輯: MasterChang (118.232.57.227), 09/07/2017 02:12:36
9F:推 OwTaingJune: 好的 謝謝各位前輩! 09/07 17:37