LCD.C里面
#define MEMDEV_IOC_MAGIC 'k'
#define MEMDEV_IOCPRINT _IO(MEMDEV_IOC_MAGIC, 1)
#define MEMDEV_IOCGETDATA _IOR(MEMDEV_IOC_MAGIC, 2, int)
#define MEMDEV_IOCSETDATA _IOW(MEMDEV_IOC_MAGIC, 3, int)
...
函数 lcd_ioctl 如下:
display_word(0xc6000000,fan,24,0,0); //LCD显示的
if(_IOC_TYPE(cmd)!=MEMDEV_IOC_MAGIC)
{
printk("Type error\n"); //到这里输出,就是直接错误了
return -EINVAL;
}
if(_IOC_NR(cmd)>MEMDEV_IOC_MAXNR)
{
printk("Number error\n");
return -EINVAL;
}
switch(cmd)
{
case MEMDEV_IOCPRINT:
printk("<-CMD ok-->");
break;
case MEMDEV_IOCGETDATA:
printk("<-CMD ok-->");
break;
default : return -EINVAL;
}
ioctl 函数调用不成功: main函数中无论是ioctl(fd,'k',2); ioctl(fd,1,2);都不行,为什么呀,求指教。
答案:1 悬赏:20 手机版
解决时间 2021-01-27 18:39
- 提问者网友:难遇难求
- 2021-01-26 19:54
最佳答案
- 五星知识达人网友:人间朝暮
- 2021-01-26 20:00
ioctl函数的头文件写了吗?
#include
bdkyr《开源人》 留言
#include
bdkyr《开源人》 留言
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯