microcreat 发表于 2010-9-4 00:55:12

为什么驱动程序会影响在终端命令行退出不了系统呢!

int screen_open(struct inode *inode,struct file *filp)
{
                unsigned int cnt = 0x00;
                               
                printk(KERN_ALERT "%s:%s,%s\n", __FUNCTION__,__DATE__,__TIME__);
               
                //for ( cnt = 0; cnt < SCREEN_IO_NUM; cnt++ )
                  {
                  writel( PORTB_VALUE(screen_io_table), led_screen_base + PIO_PER );         
                writel( PORTB_VALUE(screen_io_table), led_screen_base + PIO_PUER );               
                writel( PORTB_VALUE(screen_io_table), led_screen_base + PIO_ODSR );         
                writel( PORTB_VALUE(screen_io_table), led_screen_base + PIO_OER );
                  }
               
                return 0;
}

为什么我驱动里面有循环的话
然后应用程序运行的话
终端不能通过按
CTRL+C来结束呢

microcreat 发表于 2010-9-4 10:33:54

int screen_open(struct inode *inode,struct file *filp)
{
      unsigned int value = 0;
       
                printk(KERN_ALERT "%s:%s,%s\r\n", __FUNCTION__,__DATE__,__TIME__);
       
                value = SCREEN_SCK |
                    SCREEN_STB |
                    SCREEN_DAT |
                    SCREEN_DSR |
                    SCREEN_IRM |
                    SCREEN_A |
                    SCREEN_B |
                    SCREEN_C |
                    SCREEN_D;

                writel( value, led_screen_base + PIO_IDR );         
          writel( value, led_screen_base + PIO_PUDR );// pull up
                writel( value, led_screen_base + PIO_SODR );      
          writel( value, led_screen_base + PIO_PER );
      //writel( value, led_screen_base + PIO_OER );
               
                return 0;
}

我现在该成这样了!
屏蔽掉就能退出,但是IO输出不了
不屏蔽掉,不能退出终端,IO可以输出!
页: [1]
查看完整版本: 为什么驱动程序会影响在终端命令行退出不了系统呢!