embeddev 发表于 2012-1-3 16:16:11

osii有没有比1个时钟节拍更小的释放自己的方法?

时钟节拍大概15ms,现在OSTimeDly(1); 这种方法根本不行,时间太长了~

for (j =0; j<400; j++)
      {
            if (!IRQ)
            {
                tmp= 4432_ReadReg(InterruptStatus1);
                if(tmp & 0x04)
                {
                  _NOP();
                  break;
                }
            }
            delay_100us(1); //OSTimeDly(1);
      }

现在我想在delay_100us(1); 这里释放掉自己,以便允许别的任务执行,有什么好方法吗?

embeddev 发表于 2012-1-3 17:00:30

./emotion/em008.gif
不得不顶~

ljt80158015 发表于 2012-1-3 17:05:07

将时钟节拍改成1ms

embeddev 发表于 2012-1-3 17:33:53

不要歪楼!要能改就改了!

i55x 发表于 2012-1-3 19:42:28

一定要延迟100us,不改ticks_per_second的话,释放不了。

tiancaigao7 发表于 2012-1-3 20:04:39

把时钟节拍调小不就好了。不过这样会增加资源占用。

SNOOKER 发表于 2012-1-3 20:10:22

用信号量

i55x 发表于 2012-1-3 20:18:08

回复【6楼】SNOOKER 山寨王
用信号量
-----------------------------------------------------------------------

人家要精确延时100us,你用信号量怎么搞?
页: [1]
查看完整版本: osii有没有比1个时钟节拍更小的释放自己的方法?