作者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/cn.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