【转帖】linux和qtopia下的矩阵键盘驱动程序
出处:http://blog.163.com/xiyong8260/blog/static/66514621200944115026359/网易博客:xiyong
基于s3c2440和linux,实现了3*4的矩阵键盘驱动。
功能:延时消抖,重复按键,多键齐按(??)
更详细的说明文档:“基于S3C24440和嵌入式Linux的矩阵键盘设计”,电子技术,2008,45(5):21-23
/**********************************************************
* s3c2440-keyboard.c
*
* keyboard driver for S3C2440 based PDA
*
*
* History:2007/04/30
*
*
***********************************************************/
#include <linux/config.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/miscdevice.h>
#include <linux/sched.h>
#include <linux/delay.h>
#include <linux/poll.h>
#include <linux/spinlock.h>
#include <asm/irq.h>
#include <asm/arch/irq.h>
#include <asm/arch/irqs.h>
#include <asm/arch/clocks.h>
#include <asm/hardware.h>
#include <asm/arch/S3C2440.h>
#define DEVICE_NAME "s3c2440-kb" //键盘设备名
static int kbMajor = 0; //默认的主设备号
#define MAX_KB_BUF 10 //循环队列的尺寸
typedef struct {
unsigned int keyStatus;
int irq;
// int timeCount;
u_short buf[MAX_KB_BUF]; /* 循环队列*/
unsigned int head, tail; /* 循环队列的读写指针*/
spinlock_t lock; /*锁*/
} KB_DEV;
static KB_DEV kbdev;
#define KEY_UP 0 //按键弹起
#define KEY_DOWN 1 //按键按下
#define NO_KEY_DOWN 2 //没有键按下
#define EINT1_DOWN 0
#define EINT3_DOWN 1
#define EINT8_DOWN 2
#define NO_EINT_DOWN 3
/*循环队列操作*/
#define BUF_HEAD (kbdev.buf[kbdev.head])
#define BUF_TAIL (kbdev.buf[kbdev.tail])
#define INCBUF(x) if((++x)==MAX_KB_BUF) x=0
/*定时器设置*/
#define KB_TIMER_DELAY (HZ/50) /*HZ表示每秒产生的时钟滴答数,定时器超时为20ms*/
#define REPEAT_START_DELAY (HZ) /* 自动重复开始延时:1秒*/
#define REPEAT_DELAY (HZ/2) /*自动重复延时:0.5秒*/
static struct timer_list kb_timer;
static struct timer_list repeat_timer;
spinl
相关文档:
MySQL :: Linux 下自动备份数据库的 shell 脚本
Linux 服务器上的程序每天都在更新 MySQL 数据库,于是就想起写一个 shell 脚本,结合 crontab,定时备份数据库。其实非常简单,主要就是使用 MySQL 自带的 mysqldump 命令。
脚本内容如下:
#!/bin/sh
# File: /home/mysql/backup.sh
# Database info
DB_NAME=" ......
MYSQL安装
//解压编译安装
# tar xzvf mysql-5.0.27.tar.gz
# cd mysql-5.0.27
# ./configure -prefix=/home/redadmin/mysql
# make
# make install
# cd /home/redadmin/mysql/
# cp share/mysql/my-medium.cnf ./
# mv my-medium.cnf my.cnf
// my.conf文件修改
# vi my.cnf
修改前:
port &nb ......
这篇文章写于三年前,当时手中拿着Stevens的三本巨著 TCP v1/v2/v3 的摸不着头脑-因为它们太厚了。我知道我不需要那么多,那么详细。于是有了自己分析源代码的想法......
我不对文中的内容提供任何保证,但欢迎与我联系以便不断的修改它,最终给需要知道关于Linux TCP/ ......
一、在sun公司门户上下载对应版本的java sdk
我下载的是jdk-6u6-linux-i586-rpm.bin版本
二、给下载文件赋权限
1、一般需要root权限,在$提示符下输入su,然后输入密码,即可进入root模式。提示符为#
2、#chmod 755 jdk-6u6-linux-i586-rpm.bin
3、#./jdk-6u6-linux-i586-rpm.bin
4、#rpm -ivh jdk-6u6-linux-i586-r ......