Memory驱动——测试程序

原创 2013年12月03日 16:03:13
课堂实践4:
参照“实践3”的测试程序,编写memory-26.c的测试程序test-memory-26.c ,不必使用多线程。测试包括写入数据和读取数据正如Linux设备驱动开发入门(中文版).pdfP18内的测试方法一样,如果写入多个字符,则实际写入最后一个,例如写入“abc,则实际写入“c”。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>	//UNIX标准函数定义
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>	//文件控制定义
#include <termios.h>	//PPSIX终端控制定义
#include <errno.h>	//错误号定义
#include <pthread.h>

int main()
{
	char p[20] = {0};
	char tmp[20] = {0};
	int ret = 0;
	int memoryfd;
		
	//打开memory设备
	if ((memoryfd = open("/dev/my_memory", O_RDWR|O_NONBLOCK)) < 0) {
		printf("cannot open the memory device\n");
		exit(0);
	}
	
	
	while (1) {
		printf("Input(quit is exit):");
		gets(p);	//获取输入
		
		/*
		if (!(fgets(p, 20, stdin))) {
			exit(0);	
		}
		*/
		
		//quit退出
		if (strcmp(p, "quit") == 0)
			exit(0);
		
		//写入数据	
		if ((ret = write(memoryfd, p, strlen(p))) < 0) {
			printf("write fall!\n");
			exit(0);
		}
		
		printf("reading...\n");
		sleep(1);
		
		//读取数据
		if ((ret = read(memoryfd, tmp, sizeof(char))) < 0) {
			printf("read fall!\n");
			exit(0);
		}
		
		printf("\nOutput:%s\n\n", tmp);		
	}

	return 0;
}

gets() 函数不安全。。。

相关文章推荐

fl2440——驱动学习-LED测试程序

前面已经记录学习了LED驱动程序的代码分析,并且成功将驱动模块加载到了开发板,现在就可以进行LED应用程序的测试啦! 测试代码如下:/*-------LED流水灯测试程序-------*/ #inc...

【Tiny6410 And Linux】—(6.2)—LCD 驱动测试程序(BMP 显示位图)——代码

刚才看个小视频,关于华山游客滞留的,哎,真是花钱买罪吃,下回一定得选好旅游地点!   少点废话,上一篇文章是关于 LCD 测试程序(BMP 显示位图)的基本原理的介绍,今天就发一下代码吧,由于中间...

【Tiny6410 And Linux】—(6.1)—LCD 驱动测试程序——原理

总算要涉及到LCD的驱动程序了,不过之前还是先弄一下LCD的测试程序的好(这里看的是国嵌的代码)! 之前在电脑上找了很久的LCD的驱动程序,也就是xxxfb.c,但是真心看不懂究竟是哪个驱动,但是共...

【Tiny6410 And Linux】—(6.2)—LCD 驱动测试程序(BMP 显示位图)——原理

既然闲着也是没有事情做,干脆还是写点东西吧。   今天还是 LCD 驱动的一个测试程序,是为应用程序添加显示位图的功能,具体就是读取 BMP 图片,然后再开发板的屏幕上显示出来! 下面是有关 B...

tinyos学习笔记11--DHT11驱动及测试程序

测试平台:CC2538cb(群主师父的杰作) 1.测试效果图       忙活了几天终于把这款DHT11温湿度的传感器的驱动及测试程序搞定了,最后一个步骤犯了一个相当可笑的错误,把测量到的温度的数据当...

DM8168 PWM驱动与测试程序

昨天把DM8168的Timer设置给摸了一遍,为写PWM的底层驱动做好了准备,现在就要进入主题了。 dm8168_pwm.c: #include #include #include #inclu...

s3c2410多通道adc驱动及测试程序

s3c2410多通道adc驱动及测试程序
  • subfate
  • subfate
  • 2011年05月07日 18:46
  • 1243

s3c2410多通道adc驱动及测试程序(使用write控制多通道)

s3c2410多通道adc驱动及测试程序(使用write控制多通道)
  • subfate
  • subfate
  • 2011年05月18日 17:00
  • 1063

按键驱动测试程序

宝剑锋从磨砺出,梅花香自苦寒来。——《警世贤文》 上一篇分析了一波驱动程序的代码,虽然有一些部分还是不懂,但还是挤出来一个测试程序,不足之处,请各位告知: ...

S5PV210 Android camera驱动测试程序

最近在调试S5PV210上的camera驱动,因为对Android的samsung camera hal 不太了解,自己写了个测试程序方便调试。 因为camera驱动都是遵守V4L2标准,所以测试程...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Memory驱动——测试程序
举报原因:
原因补充:

(最多只允许输入30个字)