Re: [問題] 遠端控制mcu問題

看板ASM作者 (我愛ASM)時間7年前 (2017/09/05 22:42), 7年前編輯推噓4(405)
留言9則, 3人參與, 最新討論串2/2 (看更多)
以下均為猜測 是不是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

09/05 23:01, , 1F
對喔 他藍牙不知道有沒有全雙工
09/05 23:01, 1F

09/06 01:40, , 2F
接收命令是用polling,mcu取得全部感測器資料後
09/06 01:40, 2F

09/06 01:40, , 3F
才發送資料給app
09/06 01:40, 3F

09/06 01:40, , 4F
馬達是用io控制 裡面有delay
09/06 01:40, 4F

09/06 01:42, , 5F
另外藍牙是全雙工的
09/06 01:42, 5F
polling已經就慢了,還要等全部感測器ready,反應慢是正常的吧!! ※ 編輯: MasterChang (118.232.57.227), 09/06/2017 21:08:31

09/06 23:25, , 6F
樓主點出問題了,MCU程式架構改一改吧
09/06 23:25, 6F

09/06 23:26, , 7F
接收用interrupt,再開個Timer去驅動馬達及收sensor
09/06 23:26, 7F

09/06 23:27, , 8F
主程式只負責看電源、開關機flag、運算sensor值較好
09/06 23:27, 8F
不知道OwTaingJune用的是哪種MCU,通常掛個FreeRTOS就容易切西瓜了。 ※ 編輯: MasterChang (118.232.57.227), 09/07/2017 02:12:36

09/07 17:37, , 9F
好的 謝謝各位前輩!
09/07 17:37, 9F
文章代碼(AID): #1PhhVpxF (ASM)
文章代碼(AID): #1PhhVpxF (ASM)