只有注册用户登录后才能阅读该文。 阅读全文
只有注册用户登录后才能阅读该文。 阅读全文
摘要:
1 采用之前的中断按键法,程序会一直在read函数中死循环。 2 使用了poll之后,在一段时间内如果有按键按下就会返回,如果没有按键按下等时间到再返回。 3 4 应用程序的open,read,write,poll分别对应了驱动程序的open,read,write和poll。 5 首先,增加fileoperation结构体。 6 7 static struct ... 阅读全文
只有注册用户登录后才能阅读该文。 阅读全文
摘要:
一、添加头文件 二、构造fileoperation结构体 static struct fileoperations second_drv_fops = { .owner = THIS_MODULE; .open = second_drv_open; .write = ;second_drv_write ... 阅读全文
摘要:
char* filename; 1.先判断参数个数 if(argc != 3) { printf("xxx"); } filename = argc[1]; fd = open(filename,O_RDWR); if(fd < 0) { printf("can't open!\n"); retur 阅读全文
摘要:
1.首先在驱动文件开头定义用于保存带操作IOK口的unsigned long变量,并且要用volatile修饰。 volatile unsigned long *gpfcon = NULL; volatile unsigned long *gpfdat = NULL; 2.在入口函数中对寄存器进行映射。 gpfcon = (volatile unsigned long ... 阅读全文
摘要:
1 头文件: 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 13 定义变量 14 int major; 15 static struct class *firstdrv_cl... 阅读全文
摘要:
2440的地址直接接到了内存设备,比如NOR FLASH,SDRAM,DM9000。通过片选避免其胡乱。 内存管理设备根据CPU发出的地址,自动选择要用的片选线,nGCSx。 8位内存芯片可以直接连接CPU,A0对A0,一直到A7。 16位内存芯片接CPU时,芯片A0接CPU的A1,依此类推。 32 阅读全文
摘要:
串口: 开始时逻辑电平为高电平,ARM开发板将其拉低,并保持1bit的时间。 拉低瞬间PC机开始计时,这是开始位。然后ARM根据数据,依次变换高低电平(TX灯,RX灯)。 PC机在X.5的事件开始判断电平高低。 可发送数据的条件: 发送一位数据的时间是固定的(波特率),开始为高电平,然后变为低电平。 阅读全文