天嵌 ARM开发社区

 找回密码
 注册
查看: 1393|回复: 4

关于2440中断退出的问题

[复制链接]
wangquan0813 发表于 2013-8-18 01:33:15 | 显示全部楼层 |阅读模式
本帖最后由 wangquan0813 于 2013-8-25 12:51 编辑

我用QT在TQ2440上写了一个中断点灯的程序,由一个线程负责读中断,TQ提供的例程里的驱动好像就是一直在等待按键中断被触发呀,QT的线程在读中断的时候根本就不循环,只有按下TQ2440的按键,触发中断后,线程才循环一次,这样我怎么能正常关闭打开的驱动设备呢?怎么退出线程呢?
 楼主| wangquan0813 发表于 2013-8-18 15:49:21 | 显示全部楼层
线程一直停在select函数那不循环了
while(ok)
    {
        int ret;
        fd_set rds;
        FD_ZERO(&rds);
        FD_SET(fd1, &rds);
        //应用程序进行轮询,查询是否可对设备进行访问
        qDebug()<<"start ret";
        ret = select(fd1+1, &rds, NULL, NULL, NULL);
        qDebug()<<"ret"<<ret;
.......
 楼主| wangquan0813 发表于 2013-8-18 15:55:15 | 显示全部楼层
一定要产生一次中断while才能循环一次
TQ-lkp 发表于 2013-8-19 09:22:50 | 显示全部楼层
select 就是等待句柄状态变化,你没有变化就一直等待了
或者你加一个超时的参数,这样即使状态没变化,也会超时而进入下一次循环
关于select函数楼主搜索下详细用法
 楼主| wangquan0813 发表于 2013-8-20 17:06:34 | 显示全部楼层
好的,谢谢了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-7-8 03:10 , Processed in 1.046875 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

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