请问有没有AD7323 m128的示范程序,我按AD7321的示范程序改的,芯片总是采集不到数据!!!
头文件
#ifndef _AD7323_H_
#define _AD7323_H_
#define CONTROL_REGISTER 0x8000 //控制寄存器
#define RANGE_REGISTER 0xA000 //量程范围寄存器
#define SEQUENCE_REGISTER 0xE000 //定序寄存器
#define CONVEN
tiON 0x0000 //启动AD转换
/*-----------------reg0(CONTROL_REGISTER)----------------*/
//模拟通道选择
#define ADD10_VIN0 0x000 //VIN0通道
#define ADD10_VIN1 0x400 //VIN1通道
#define ADD10_VIN2 0x800 //VIN2通道
#define ADD10_VIN3 0xc00 //VIN3通道
//模拟输入配置选择
#define PSEUDO_DIFFERENTIAL_3 0x300 //3个伪差分输入
#define FULL_DIFFERENTIAL_2 0x200 //2个全差分输入
#define PSEUDO_DIFFERENTIAL_2 0x100 //2个伪差分输入
#define SINGLE_ENDED 0x000 //单端输入
//
电源模式
#define NORMAL_MODE 0x00 //正常模式
#define AUTOSTANDBY_MODE 0x40 //自动待机模式
#define AUTOSTANDDOWN_MODE 0x80 //自动关机模式
#define FULL_SHUTDOWN_MODE 0xC0 //全部关闭模式
//定序器选择
#define SEQUENCER_USED 0x08 //使用定序器
#define SEQUENCER_NOT_USED 0x00 //不使用定序器
//输出编码
#define TWOS_COMPLEMENT_CODING 0x00 //补码
#define STRAIGHT_BINARY 0x20 //原码
//参考电压
#define INTERNAL_REF 0x10 //外部
#define EXTERNAL_REF 0x00 //内部
/*-----------------reg1(RANGE_REGISTER)----------------*/
#define VIN0_10V 0x000
#define VIN0_5V 0x800
#define VIN0_2_5V 0x1000
#define VIN0_0_10V 0x1800
#define VIN1_10V 0x000
#define VIN1_5V 0x200
#define VIN1_2_5V 0x400
#define VIN1_0_10V 0x600
#define VIN2_10V 0x00
#define VIN2_5V 0x80
#define VIN2_2_5V 0x100
#define VIN2_0_10V 0x180
#define VIN3_10V 0x00
#define VIN3_5V 0x20
#define VIN3_2_5V 0x40
#define VIN3_0_10V 0x60
//M64管脚定义
#define AD7323_CS 4 //PE4
#define AD7323_DIN 5 //PE5
#define AD7323_SCLK 6 //PE6
#define AD7323_DOUT 7 //PE7
#define set_spi_cs() PORTE|= (1<
0