机器人天空 发表于 2014-4-9 21:39:38

程序中两任务撞车的问题?

如果程序中两个任务都是50ms运行一次,或者一个50ms另一个100ms运行一次。该怎么处理呢

activeleo 发表于 2014-4-9 21:48:40

你只是单核cpu,考虑中断嵌套 。。。

severewinner 发表于 2014-4-9 21:49:58

完全不用担心,他们自己会顺序执行的

DevLabs 发表于 2014-4-9 21:59:07

只要你程序运行时间(或者阻塞时间)不超过50ms就好说.
它们是每隔50ms运行, 又不是在50ms这个时间点上两个都运行.

机器人天空 发表于 2014-4-9 22:02:42

DevLabs 发表于 2014-4-9 21:59
只要你程序运行时间(或者阻塞时间)不超过50ms就好说.
它们是每隔50ms运行, 又不是在50ms这个时间点上两个都 ...

万一两任务都在同一时间点上呢

gyd0317 发表于 2014-4-9 22:05:51

机器人天空 发表于 2014-4-9 22:02
万一两任务都在同一时间点上呢

没有任务会是真正同时进行的,最多抢占,可以去学下操作系统

wye11083 发表于 2014-4-9 22:06:21

机器人天空 发表于 2014-4-9 22:02
万一两任务都在同一时间点上呢

要么优先级,要么嵌套。LS已经说得很清楚了。

wzd5230 发表于 2014-4-9 22:06:55

学下操作系统的任务切换你就知道怎么回事了,你问的问题都不成立。

Free_Bird 发表于 2014-4-9 22:14:20

看 “时间触发嵌入式系统设计模式” 13和14章;

gufeng722 发表于 2014-4-9 22:14:40

每个程序不会运行50ms吧,50m可以执行50000句左右的指令了。所以把时间精打细算就好了

咖啡可乐 发表于 2014-4-9 22:17:42

不同优先级的任务,优先级高的会先执行
相同优先级的任务,会按照先后顺序执行

机器人天空 发表于 2014-4-9 22:18:37

Free_Bird 发表于 2014-4-9 22:14
看 “时间触发嵌入式系统设计模式” 13和14章;

谢谢{:lol:}

wildone 发表于 2014-4-10 13:57:07

不可能的,会先其中一个先优先执行

liuzp001 发表于 2014-4-23 21:21:36

时间触发式调度器,可设置任务启动延时:50ms任务延时3ms启动, 100ms任务延时7ms启动,永远不会重叠。
页: [1]
查看完整版本: 程序中两任务撞车的问题?