shopping.w 发表于 2009-9-6 11:28

手把手教你linux驱动第一个基本实验---点灯

本帖最后由 shopping.w 于 2009-9-6 11:51 编辑

环境vm+redhat9(要求加入并口)
加入并口的方法
vm-setting-add-parallel port

启动redhat9

接着vi led.c
输入如下代码
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>

int main(int argc,char **argv)
{
      int fd;
      int lp;
      unsigned char buff;
      fd = open("/dev/port",O_RDWR);
      if(fd<0)
      {
                perror("/dev/port open error");
                exit(1);
      }
      for(lp=0;lp<10;lp++)
      {
                lseek(fd,0x378,SEEK_SET);
                buff = 0xff;
                write(fd,buff,1);
                sleep(1);
                lseek(fd,0x378,SEEK_SET);
                buff = 0x00;
                write(fd,buff,1);
                sleep(1);
      }
      close(fd);

      return 0;
}

保存 退出vi

接着gcc -o led led.c
生成led
放入led灯 并口的2脚+ 18脚-
运行./led

会见到led灯在闪
^_^
以上资料来自《linux设备驱动开发技术及应用》

欢迎大家和我谈论技术及其相关
当然其他也行,除了政治和娱乐八卦
^_^

guanjinrong 发表于 2009-9-7 16:41

学习了....

fang_zi 发表于 2009-9-7 21:22

你的只是个LED灯的测试程序呀,有没有驱动程序,你的用什么方法挂载到内核的?

shopping.w 发表于 2009-9-8 09:37

我是新手,^_^,如果是驱动的,可以用insmod吧,具体我忘了,不过有个网页可以利用下.
http://blog.chinaunix.net/u1/34474/showart_404278

还有一本书也可以参考下:<嵌入式系统接口设计与Linux驱动程序开发>

希望多多交流,共同进步.
页: [1]
查看完整版本: 手把手教你linux驱动第一个基本实验---点灯