看板 ASM 關於我們 聯絡資訊
以下均為猜測 是不是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://www.ptt.cc/bbs/ASM/M.1504622579.A.ECF.html
chuegou: 對喔 他藍牙不知道有沒有全雙工 09/05 23:01
OwTaingJune: 接收命令是用polling,mcu取得全部感測器資料後 09/06 01:40
OwTaingJune: 才發送資料給app 09/06 01:40
OwTaingJune: 馬達是用io控制 裡面有delay 09/06 01:40
OwTaingJune: 另外藍牙是全雙工的 09/06 01:42
polling已經就慢了,還要等全部感測器ready,反應慢是正常的吧!! ※ 編輯: MasterChang (118.232.57.227), 09/06/2017 21:08:31
Archer55b6: 樓主點出問題了,MCU程式架構改一改吧 09/06 23:25
Archer55b6: 接收用interrupt,再開個Timer去驅動馬達及收sensor 09/06 23:26
Archer55b6: 主程式只負責看電源、開關機flag、運算sensor值較好 09/06 23:27
不知道OwTaingJune用的是哪種MCU,通常掛個FreeRTOS就容易切西瓜了。 ※ 編輯: MasterChang (118.232.57.227), 09/07/2017 02:12:36
OwTaingJune: 好的 謝謝各位前輩! 09/07 17:37