主题 : 请教高手 驱动调用 ioctl方法的问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 79938
精华: 0
发帖: 39
金钱: 205 两
威望: 41 点
综合积分: 78 分
注册时间: 2012-10-16
最后登录: 2013-06-04
楼主  发表于: 2012-11-22 14:22

 请教高手 驱动调用 ioctl方法的问题

请教一个问题!我在驱动中定义了一个ioctl的函数。如下:
static int mini210_display_ioctl(struct inode *inode, struct file *file, unsigned int ioctl_num, unsigned long ioctl_param)
{
           printk("ioctl_num = [%d]\n",ioctl_num);
           printk("ioctl_param = [%d]\n",ioctl_param);
}

在应用层调用时如下
    ioctl(g_fdiaplay,6,6);        
    delay_micro(500);
    ioctl(g_fdiaplay,7,9);            
    ioctl(g_fdiaplay,8,12);        
    ioctl(g_fdiaplay,9,7);        
    ioctl(g_fdiaplay,10,10);    
    ioctl(g_fdiaplay,11,13);    
    ioctl(g_fdiaplay,12,5);        
    ioctl(g_fdiaplay,13,14);    
    ioctl(g_fdiaplay,14,11);    
    ioctl(g_fdiaplay,15,8);        
为什么只有
到了 ioctl(g_fdiaplay,7,9);驱动中的ioctl_num,和ioctl_param接收不到7,和9,也没有其他值,.其他的都可以!

一开始以为是延时的问题,但是我在
ioctl(g_fdiaplay,7,9);前放了延时还是没有效果!请教原因啊

级别: 新手上路
UID: 88899
精华: 0
发帖: 1
金钱: 5 两
威望: 1 点
综合积分: 2 分
注册时间: 2013-03-18
最后登录: 2013-03-22
1楼  发表于: 2013-03-22 19:38
遇到同样的问题,应用层调用了只包含printk的unlocked_ioctl,就死了