您的位置:控制工程论坛网论坛 » 嵌入式系统 » linux驱动入门篇2字符设备驱动004

caizhengsuo

caizhengsuo   |   当前状态:在线

总积分:3196  2024年可用积分:0

注册时间: 2008-02-22

最后登录时间: 2015-10-16

空间 发短消息加为好友

linux驱动入门篇2字符设备驱动004

caizhengsuo  发表于 2008/10/14 9:17:59      623 查看 0 回复  [上一主题]  [下一主题]

手机阅读

linux驱动入门篇2字符设备驱动

接着我们可以运行:

mknod /dev/globalvar c 254 0

  创建设备节点,用户进程通过/dev/globalvar这个路径就可以访问到这个全局变量虚拟设备了。我们写一个用户态的程序globalvartest.c来验证上述设备:

#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <fcntl.h>
main()
{
 int fd, num;
 //打开"/dev/globalvar"
 fd = open("/dev/globalvar", O_RDWR, S_IRUSR | S_IWUSR);
 if (fd != -1 )
 {
  //初次读globalvar
  read(fd, &num, sizeof(int));
  printf("The globalvar is %d\n", num);

  //写globalvar
  printf("Please input the num written to globalvar\n");
  scanf("%d", &num);
  write(fd, &num, sizeof(int));

  //再次读globalvar
  read(fd, &num, sizeof(int));
  printf("The globalvar is %d\n", num);

  //关闭"/dev/globalvar"
  close(fd);
 }
 else
 {
  printf("Device open failure\n");
 }
}

  编译上述文件:

gcc -o globalvartest.o globalvartest.c

  运行

./globalvartest.o

  可以发现"globalvar"设备可以正确的读写。
1楼 0 0 回复