调用hello_ctl123设备节点

调用的函数

– open函数是返回文件描述符

– ioctl函数是应用向驱动传值

– close函数是关闭打开的文件

 

• 编写应用程序的代码,编译
 

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/ioctl.h>

int main(int argc, char *argv[])
{
	int fd;
	char *hello_node = "/dev/hello_ctl123";
//	char *hello_node = "./test.txt";	
/*O_RDWR读写方式打开,O_NDELAY非阻塞方式*/	
	if((fd = open(hello_node,O_RDWR|O_NDELAY))<0){
		printf("APP open %s failed\n",hello_node);
	}
	else{
		printf("APP open %s success\n",hello_node);
		ioctl(fd,1,7);
	}
	
	close(fd);
return 0;
}

编写相应的Makefile

CC= /home/skyfall/qt/arm-2014.05/bin/arm-none-linux-gnueabi-gcc
OBJ=test_hello_ctl123
OBJS=test_hello_ctl123.c 
CFLAGS= -Wall -g 
$(OBJ):$(OBJS)
	$(CC) $(CFLAGS) $^ -o $@
$*.o:$%.c
	$(CC) $(CFLAGS) -c $< -o $@ 
.PHONY:clean
clean:
	$(RM) *.o test_hello_ctl123

 

• 开发板中加载create_device_node.ko驱动,运行应用。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值