亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問板塊 發(fā)新帖
查看: 5277 | 回復(fù): 2
打印 上一主題 下一主題

[驅(qū)動(dòng)] 問個(gè)GPIO的拉高拉低的問題 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2010-11-08 15:00 |只看該作者 |倒序?yàn)g覽
本帖最后由 jn200002 于 2010-11-09 11:03 編輯

我的測(cè)試文件的open寫錯(cuò)了~?~~?

大家好,很久沒寫驅(qū)動(dòng)的代碼了,今天有需求拉高一個(gè)GPIO口,現(xiàn)在不知道為什么沒有被拉高

哪位有時(shí)間瞅瞅這個(gè)入門級(jí)的代碼唄~ 先謝過了!
文件系統(tǒng)里到是有了設(shè)備名稱了,我也能打開,就是ioctl寫的時(shí)候沒起作用

  1. #define DEVICE_NAME "pix-audio-power"

  2. // 關(guān)于GPIO設(shè)置的地方可以忽略,那個(gè)設(shè)置是沒錯(cuò)的,我覺得我應(yīng)該是模塊結(jié)構(gòu)上出現(xiàn)了什么問題。。。
  3. static int sbc2440_audio_power_ioctl(struct inode *inode,struct file *file,unsigned int cmd)
  4. {
  5.         printk("IO CTRL......\n");
  6.         unsigned long gpg5,gpgup,gpgdat;
  7.         gpg5   = __raw_readl(S3C2410_GPGCON);
  8.         gpgdat = __raw_readl(S3C2410_GPGDAT);
  9.         gpgup  = __raw_readl(S3C2410_GPGUP);
  10.         switch(cmd)
  11.         {
  12.                 case 0:
  13.                 拉高
  14.                 case 1:
  15.                  拉低
  16.         }
  17. }

  18. static struct file_operations my_dev_fops = {
  19.         .owner = THIS_MODULE,
  20.         .ioctl = sbc2440_audio_power_ioctl,
  21. };
  22. static struct miscdevice misc = {
  23.         .minor = 255,
  24.         .name = DEVICE_NAME,
  25.         .fops = &my_dev_fops,
  26. };

  27. static void pix_audio_gpio_init(void)
  28. {
  29.         unsigned long gpg5,gpgdat,gpgup;
  30.         初始化一下output 拉低。
  31. }

  32. static int __init dev_init(void)
  33. {
  34.         int ret;
  35.         pix_audio_gpio_init();
  36.         ret = misc_register(&misc);
  37.         printk(DEVICE_NAME"\tinitialized\n");
  38.         return ret;
  39. }

  40. static void __exit dev_exit(void)
  41. {
  42.         misc_deregister(&misc);
  43. }

  44. module_init(dev_init);
  45. module_exit(dev_exit);
  46. MODULE_LICENSE("GPL");
  47. MODULE_AUTHOR("PIXSTAR Inc.");
  48. =============test.c=================
  49. #include <stdio.h>
  50. #include <fcntl.h>
  51. #include <sys/types.h>
  52. #include <sys/stat.h>


  53. #define AUDIO_PWR_ON  1
  54. #define AUDIO_PWR_OFF 0
  55. //BEFORE: wrong
  56. #define AUDIO_PWR_NAME "/sys/devices/virtual/misc/pix-audio-power"
  57. //-------------------------------------------------------
  58. //mknod /dev /name c min maj                結(jié)貼!
  59. //-------------------------------------------------------
  60. #define AUDIO_PWR_NAME "/dev/name"


  61. int main(int agrc,char** argv)
  62. {
  63.         int fd;
  64.         fd=open(AUDIO_PWR_NAME,"r+w");
  65.         
  66.         if(fd<0)
  67.         {
  68.                 printf("open error!\n");        
  69.                 return -1;      
  70.         }
  71.         
  72.         if(!(strcmp(argv[1],"on"))){
  73.                 ioctl(fd,AUDIO_PWR_ON);
  74.                 printf("AUDIO_PWR_ON.\n");
  75.         }
  76.         else if(!(strcmp(argv[1],"off"))){
  77.                 ioctl(fd,AUDIO_PWR_OFF);
  78.                 printf("AUDIO_PWR_OFF.\n");
  79.         }
  80.         return 0;
  81. }
復(fù)制代碼

論壇徽章:
1
射手座
日期:2013-11-07 09:19:48
2 [報(bào)告]
發(fā)表于 2010-11-08 17:03 |只看該作者
test.c里面的open函數(shù)應(yīng)該打開的是/dev下面的設(shè)備文件,LZ open的對(duì)象搞錯(cuò)了。

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2010-11-08 17:29 |只看該作者
回復(fù) 2# guocslock


    多謝!

您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP