【发布时间】:2021-12-17 09:07:21
【问题描述】:
我正在使用相互通信的快速循环(0.5 ms 循环时间)和慢速循环(10 ms 循环时间)。 如何使输入和输出保持一致?
考虑下面的示例,我希望 SlowLoop 中的分配是原子的,以确保来自 FAST 循环的两个引用输入与来自同一循环的值相对应。
示例
快速循环 [0.5 毫秒]
FAST_CNT = some rising edge detection
FAST_RUNIDX += 1
慢循环 [10 毫秒]
<-- Atomic Operation
pulseCount = FAST_CNT
elapsedTicks = FAST_RUNIDX
Atomic Operation -->
【问题讨论】: