xuhe1206 发表于 2013-10-6 19:29:37

led应用程序,怎么设置成多进程?(貌似有些低级的问题)

按照天嵌的手册,直接用的天嵌给的led驱动程序,但是在写应用程序的时候却遇到麻烦了
要求led是每隔0.5s就闪烁一次,按照常规的话,就是来个
while(1){
    if(i<10000000){
            i++;
      }
    else{
         i= 0;
          led = !led;
      }
}

可问题是这样的话,cpu的所有时间都用来处理led了啊,怎么能设置成多进程呢?让led程序与其他程序共存;

shendan 发表于 2013-10-6 19:52:31

裸跑???

xuhe1206 发表于 2013-10-6 22:54:26

不是裸跑啊,就是linux系统

亚瑟王 发表于 2013-10-8 09:44:23

xuhe1206 发表于 2013-10-6 22:54 static/image/common/back.gif
不是裸跑啊,就是linux系统

在apps压缩包里面有个多线程的例子,参考该例子就可以实现了。

TQ-ZQL 发表于 2013-10-8 10:14:43

直接用sleep函数延时,再将程序搞成后台运行。不用什么多线程的。

xuhe1206 发表于 2013-10-8 13:34:45

本帖最后由 xuhe1206 于 2013-10-8 13:46 编辑

TQ-ZQL 发表于 2013-10-8 10:14 static/image/common/back.gif
直接用sleep函数延时,再将程序搞成后台运行。不用什么多线程的。
你好,我用sleep函数了,但怎么搞成后台运行呢?可以稍微详细指点一下么?

现在的情况是,虽然用了sleep函数,但在led程序执行后,还是无法和执行其他程序了

for(;;){
    sleep(1);
    if(on==0)on=1;
    else on=0;
    ioctl(fd,on,1);
    ioctl(fd,on,2);
}

#led
正常的话下面应该继续出现
#
但现在是空白了!貌似就是控制台无法运行了!

TQ-ZQL 发表于 2013-10-9 15:32:45

加个&就可以了#led&

xuhe1206 发表于 2013-10-9 15:49:08

TQ-ZQL 发表于 2013-10-9 15:32 static/image/common/back.gif
加个&就可以了#led&

哦,果然奏效,呵呵,谢谢,十分感谢!
页: [1]
查看完整版本: led应用程序,怎么设置成多进程?(貌似有些低级的问题)