天嵌 ARM开发社区

 找回密码
 注册
查看: 2688|回复: 7

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

[复制链接]
xuhe1206 发表于 2013-10-6 19:29:37 | 显示全部楼层 |阅读模式
按照天嵌的手册,直接用的天嵌给的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
不是裸跑啊,就是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
直接用sleep函数延时,再将程序搞成后台运行。不用什么多线程的。

你好,我用sleep函数了,但怎么搞成后台运行呢?可以稍微详细指点一下么?

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

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

[root@EmbedSky sbin]#led
正常的话下面应该继续出现
[root@EmbedSky sbin]#
但现在是空白了!貌似就是控制台无法运行了!
TQ-ZQL 发表于 2013-10-9 15:32:45 | 显示全部楼层
加个&就可以了[root@EmbedSky sbin]#led&
 楼主| xuhe1206 发表于 2013-10-9 15:49:08 | 显示全部楼层
TQ-ZQL 发表于 2013-10-9 15:32
加个&就可以了[root@EmbedSky sbin]#led&

哦,果然奏效,呵呵,谢谢,十分感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-25 22:56 , Processed in 1.046875 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表