天嵌 ARM开发社区

 找回密码
 注册
查看: 2347|回复: 2

_IOW()的问题。。。。。。

[复制链接]
鬼鬼一哈 发表于 2010-10-13 18:33:47 | 显示全部楼层 |阅读模式
为什么这样编译就出现错误!
头文件里定义的
#define   GPIO_IOCTL_MAGIC            "G"
#define   LED1_SWT               _IOW(GPIO_IOCTL_MAGIC,0,unsigned int)
#define   LED2_SWT               _IOW(GPIO_IOCTL_MAGIC,0,unsigned int)
#define   LED3_SWT               _IOW(GPIO_IOCTL_MAGIC,0,unsigned int)
#define   LED4_SWT               _IOW(GPIO_IOCTL_MAGIC,0,unsigned int)
#define   BEEP_SWT               _IOW(GPIO_IOCTL_MAGIC,0,unsigned int)

然后C文件里的
static int gpio_ioctl(struct inode *inode,struct file *file, unsigned int cmd,unsigned long arg)
{
   unsigned int swt = (unsigned int)arg;
   switch(cmd)
      {
           case LED1_SWT:   {  switch_gpio(S3C2410_GPB5,swt);}    break;
           case LED2_SWT:   {  switch_gpio(S3C2410_GPB6,swt);}    break;
           case LED3_SWT:   {  switch_gpio(S3C2410_GPB7,swt);}    break;
           case LED4_SWT:   {  switch_gpio(S3C2410_GPB8,swt);}    break;
           case BEEP_SWT:   {  switch_gpio(S3C2410_GPB0,swt);}    break;
           default:
               {
                  printk("Unsupported command/n");
                  break;
               }
      }
   return 0;
}就出现问题,
关键就是case  LED1_SWT:  这个case写法好像有问题,我有看不出来什么不对。。。
zhoujiaxg 发表于 2010-10-14 00:49:49 | 显示全部楼层
完全可以将LED1_SWT。。。。LED4_SWT换成1,2,3,4等等。
上面那种方法安全性高一点
 楼主| 鬼鬼一哈 发表于 2010-10-14 09:19:20 | 显示全部楼层
恩,我已经改过来了。呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-10-5 20:24 , Processed in 1.033243 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

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