打印
[嵌入式linux]

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

[复制链接]
1896|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shopping.w|  楼主 | 2009-9-6 11:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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[128];
        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[0] = 0xff;
                write(fd,buff,1);
                sleep(1);
                lseek(fd,0x378,SEEK_SET);
                buff[0] = 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驱动程序开发>

希望多多交流,共同进步.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:shopping.w@gmail.com http://shop36724777.taobao.com/ http://shop36280847.taobao.com/

86

主题

475

帖子

2

粉丝