压力传感器驱动程序:
#include <linux/module.h> //支持printk输出
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/miscdevice.h>
#include <linux/delay.h>
#include <asm/arch-s3c2410/regs-gpio.h>
#include <asm/hardware.h>
#include <asm/uaccess.h>
#define DEVICE_NAME "demo"
#define demo_MAJOR 231
#define DOUT S3C2410_GPH6
#define DOUT_in S3C2410_GPH6_INP
#define PD_SCK S3C2410_GPH0
#define PD_SCK_out S3C2410_GPH0_OUTP
#define A S3C2410_GPG9//步进电机的四个区
#define B S3C2410_GPE6
#define C S3C2410_GPB0
#define D S3C2410_GPB4
#define A_out S3C2410_GPG9_OUTP
#define B_out S3C2410_GPE6_OUTP
#define C_out S3C2410_GPB0_OUTP
#define D_out S3C2410_GPB4_OUTP
int zheng[]={0x08,0x04,0x02,0x01};//利用数组将需要给ABCD传的值整和在一起
int ni[]={0x01,0x02,0x04,0x08};
int stop=0x00;
static char devicecount=0; //计数器,防止被多个人多次打开
/******************************************************************************/
//压力传感器获取数据
static int shuju()
{
unsigned long count=0,date=0;
unsigned int i=0;
s3c2410_gpio_cfgpin(DOUT,DOUT_in);
s3c2410_gpio_cfgpin(PD_SCK,PD_SCK_out);
s3c2410_gpio_setpin(PD_SCK,0);
while(s3c2410_gpio_getpin(DOUT));//当DOUT和PD_SCK同时为低电平时,开始读取