立即注册
查看: 2887|回复: 9

[问题] 一段算法需要每10ms调用一次,怎么添加进MT2503AE上执行

已绑定手机
发表于 2018-4-16 16:17:14 | 显示全部楼层 |阅读模式 来自 湖南省长沙市
一段算法需要每10ms调用一次,要求时间要比较准确。我用过DclSgpt_Open(DCL_GPT_CB, 0)开启了10ms定时,但是回调函数中不能放太复杂逻辑,我通过发送消息到MMITASK中跑,就出现外部消息队列满,因为10ms一发确实很快,即使加大队列。也用过StartTimer,但是不但时间不准确,而且还很久没有跑进我的函数。请问应该怎么以什么方式放在哪里调用呢?
我知道答案 回答被采纳将会获得5 RD币 已有9人回答

奖励

参与人数 1RD币 +5 收起 理由
enjoy啸狼 + 5 提问奖励

查看全部评分

已绑定手机
已实名认证
专业2G/3G/4G智能模块核心板,承接方案定制,
手机:18665375912(微信同号)或点下面的黑色字体

深圳市新移科技有限公司
发表于 2018-4-16 19:06:07 | 显示全部楼层 来自 广东省深圳市
用底层的timer,如果你是将消息发到task,哪task中的执行不可能是很准的。
已绑定手机
 楼主| 发表于 2018-4-16 20:15:13 | 显示全部楼层 来自 湖南省长沙市
jianghuiyan 发表于 2018-4-16 19:06
用底层的timer,如果你是将消息发到task,哪task中的执行不可能是很准的。

底层的kal_set_timer设置的回调函数能跑耗时大概10ms算法才能返回的逻辑吗?
已绑定手机
已实名认证
专业2G/3G/4G智能模块核心板,承接方案定制,
手机:18665375912(微信同号)或点下面的黑色字体

深圳市新移科技有限公司
发表于 2018-4-16 20:30:50 | 显示全部楼层 来自 广东省深圳市
August0823 发表于 2018-4-16 20:15
底层的kal_set_timer设置的回调函数能跑耗时大概10ms算法才能返回的逻辑吗?

没看懂你这句话
已绑定手机
 楼主| 发表于 2018-4-17 09:24:02 | 显示全部楼层 来自 湖南省长沙市

抱歉,这句话确实有点不通,我意思是这个回调函数里可以直接跑一段复杂算法吗?算法耗时大概接近10ms
已绑定手机
 楼主| 发表于 2018-4-17 15:34:56 | 显示全部楼层 来自 湖南省长沙市

g_my_timerid = kal_create_timer("my test timer");
kal_set_timer(g_my_timerid ,(kal_timer_func_ptr)kal_timer_callback, NULL, 2, 1);// 1 tick = 4.615ms,
回调函数kal_timer_callback就是控制一个pin输出高低电平,抓取波形发现,始终还是经过1个tick超时就跑回调函数了,为什么?
已绑定手机
 楼主| 发表于 2018-4-17 15:35:59 | 显示全部楼层 来自 湖南省长沙市
August0823 发表于 2018-4-17 09:24
抱歉,这句话确实有点不通,我意思是这个回调函数里可以直接跑一段复杂算法吗?算法耗时大概接近10ms

g_my_timerid = kal_create_timer("my test timer");
kal_set_timer(g_my_timerid ,(kal_timer_func_ptr)kal_timer_callback, NULL, 2, 1);// 1 tick = 4.615ms,
回调函数kal_timer_callback就是控制一个pin输出高低电平,抓取波形发现,始终还是经过1个tick超时就跑回调函数了,为什么?
已绑定手机
 楼主| 发表于 2018-4-24 14:02:06 | 显示全部楼层 来自 湖南省长沙市
August0823 发表于 2018-4-17 15:35
g_my_timerid = kal_create_timer("my test timer");
kal_set_timer(g_my_timerid ,(kal_timer_func_ptr ...

底层timer一直循环跑,系统会崩溃
已绑定手机
发表于 2018-6-2 15:50:41 | 显示全部楼层 来自 上海市
“一段算法需要每10ms调用一次,要求时间要比较准确。”
并且
“算法耗时大概接近10ms”
这么搞的话,操作系统玩不转了。CPU要提速,才可能
已绑定手机
发表于 2018-6-2 15:51:51 | 显示全部楼层 来自 上海市
一般来说, 回调函数里面不应该做耗时太久的操作。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表