OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4743|回复: 4

延迟的工作队列周期执行出现个别周期小于设定周期的问题,求助

[复制链接]

82

主题

589

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1255
金钱
1255
注册时间
2017-11-18
在线时间
296 小时
发表于 2020-5-14 15:56:41 | 显示全部楼层 |阅读模式
10金钱
如题所示:硬件平台:I.MX6DL双核
内核版本:3.0.35

1.我项目中需要实现一个周期性执行的工作任务,在周期性的任务中去控制输出信号高低。
我使用延迟的工作队列来实现。注册延迟的工作队列后,设置队列的执行周期为1ms

现在通过测量输出的信号发现,个别周期小于1ms,比1ms小了大概20us左右。
请问一下对内核队列机制比较熟悉的前辈,这个延迟的工作队列的延迟执行是否能精确稳定的调度呢?
2.我发现即使是延迟的工作队列,它的实现也是通过内核定时器来实现定时执行的。
因此我实现一个内核定时器,来实现1ms的信号翻转输出,发现内核定时器也是不精确,
实际测量也会有小于1ms的周期出现,请问这个内核定时器本身的不精确是否就是引起延迟的工作队列不能精确执行的原因呢?
或者还有没有什么方案可以实现精确的定时输出呢?

最佳答案

查看完整内容[请看2#楼]

内核还提供了高精度定时器,你可以用这个试试!
没有脑袋
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

712

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2178
金钱
2178
注册时间
2018-8-27
在线时间
258 小时
发表于 2020-5-14 15:56:42 | 显示全部楼层
内核还提供了高精度定时器,你可以用这个试试!
森罗万象
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165353
金钱
165353
注册时间
2010-12-1
在线时间
2108 小时
发表于 2020-5-15 01:19:07 | 显示全部楼层
帮顶
回复

使用道具 举报

7

主题

37

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
397
金钱
397
注册时间
2013-1-14
在线时间
75 小时
发表于 2020-5-16 18:35:15 | 显示全部楼层
如楼上所言 可以试试 内核自带的hrtimer,毫秒级的相应应该没啥问题。
或者也可以试试 芯片自带的 epit timer,自己撸一个驱动。
天道酬勤
回复

使用道具 举报

82

主题

589

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1255
金钱
1255
注册时间
2017-11-18
在线时间
296 小时
 楼主| 发表于 2020-5-23 11:46:12 | 显示全部楼层
xiaotaotao 发表于 2020-5-15 09:18
内核还提供了高精度定时器,你可以用这个试试!

好的 谢谢~
没有脑袋
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 12:58

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表