手把手教你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设备驱动开发技术及应用》
欢迎大家和我谈论技术及其相关
当然其他也行,除了政治和娱乐八卦
^_^ 学习了.... 你的只是个LED灯的测试程序呀,有没有驱动程序,你的用什么方法挂载到内核的? 我是新手,^_^,如果是驱动的,可以用insmod吧,具体我忘了,不过有个网页可以利用下.
http://blog.chinaunix.net/u1/34474/showart_404278
还有一本书也可以参考下:<嵌入式系统接口设计与Linux驱动程序开发>
希望多多交流,共同进步.
页:
[1]