linux3.2下adt7320的spi驱动编写

这篇博客介绍了在Linux 3.2内核版本中,针对adt7320传感器如何编写和使用spi_write_then_read函数替代spi_read/spi_write进行数据传输的SPI驱动程序。内容包括adt7320_driver.c驱动程序和adt7320.c测试程序的详细说明。
摘要由CSDN通过智能技术生成

在3.2中没有spi_read/spi_write, 更改为了spi_write_then_read, 好用惨了

驱动程序adt7320_driver.c

#include <linux/init.h>
#include <linux/module.h>
#include <linux/ioctl.h>
#include <linux/fs.h>
#include <linux/device.h>
#include <linux/err.h>
#include <linux/list.h>
#include <linux/errno.h>
#include <linux/mutex.h>
#include <linux/slab.h>
#include <linux/compat.h>

#include <linux/spi/spi.h>
#include <linux/spi/spidev.h>

#include <asm/uaccess.h>



#define Contin_Mode     0x00
#define OneShot_Mode    0x01
#define SPS1_Mode       0x02
#define ShutDown_Mode   0x03

#define Bit16_Mode  1
#define Bit13_Mode  0

#define CMDREAD  1
#define CMDWRITE 0

#define STATUS_REG  0x00
#define CONFIG_REG  0x01
#define TEMPVAL_REG 0x02
#define ID_REG      0x03
#define TCRIT_REG   0x04
#define THYST_REG   0x05
#define THIGH_REG   0x06
#define TLOW_REG    0x07

#define Dummy_Byte  0x5A

#define INIT 0x1
#define RESET  0x0

#define SPIDEV_MAJOR 153

static struct class *adt7320_class;
static struct spi_device *adt7320_spi_device;
static char rx_buf[5] = {0}, tx_buf[5] = {0};



/*
adt7301 
adt7302
adt7310
adt7316
*/


/***************************************************************************
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值