平台独立延迟计时器

时间:2013-08-26 22:16:23

标签: c++ c delay platform-independence

问题

我最初发布了this问题,这显然不符合我的客户规范。因此我正在重新定义问题:

为了更多地理解这个问题,可以使用原始帖子上的时序图。延迟器需要与平台无关。确切地说,我运行一个作业调度程序,显然我当前的delayer不会与它兼容。我坚持的是延迟器的“独立”位。我已经使用Probe(采样时间探测)和Variable Integer Delay块在SIMULINK中删除了延迟器。但是,在我们的验收阶段,我们意识到调度程序不符合这样的配置,需要更内在和基本的东西 - 比如在C / C ++应用程序中运行的while循环。

初始解决方案

我能想到的解决方案如下:

  1. 定义名为tslc的全局和静态时间片变量。基本上,这是调度程序运行的频率。单位可以在几秒钟内

  2. 定义具有以下主体的函数:

    void hold_for_secs(float* tslc, float* _delay, float* _tmr, char* _flag) {
         _delay[0] -= tslc[0];
         if (_delay[0] < (float)(1e-5)) {
    
            _flag[0] = '1';     
    
         } else {
    
               _flag[0] = '0';            
    
         }
    
    }
    
  3. 用户请原谅我糟糕的功能编码技巧,但我只是试图想出一个解决方案。如果有人帮我提出建议,我真的很感激!

    计算平台 Windows 2000服务器

    目标计算平台 嵌入式系统卡 - 类似于现代图形卡或声卡的一个PCI插槽。我们在测试平台上进行测试,最后在嵌入式系统卡上实现解决方案。

0 个答案:

没有答案