Sei sulla pagina 1di 2

the header file on bluevboard. #ifndef _AD7730_H #define _AD_7730_H #include "type.h" #include "spi.

h" //AD7730 registers #define AD7730_COMMUNICATION_REGISTER #define AD7730_STATUS_REGISTER #define AD7730_DATA_REGISTER #define AD7730_MODE_REGISTER #define AD7730_FILTER_REGISTER #define AD7730_DAC_REGISTER #define AD7730_OFFSET_REGISTER #define AD7730_GAIN_REGISTER #define AD7730_TEST_REGISTER 0 0 1 2 3 4 5 6 7

//Register sizes //AD7730 registers #define AD7730_COMMUNICATION_REGISTER_SIZE #define AD7730_STATUS_REGISTER_SIZE #define AD7730_16BIT_DATA_REGISTER_SIZE #define AD7730_24BIT_DATA_REGISTER_SIZE #define AD7730_MODE_REGISTER_SIZE #define AD7730_FILTER_REGISTER_SIZE #define AD7730_DAC_REGISTER_SIZE #define AD7730_OFFSET_REGISTER_SIZE #define AD7730_GAIN_REGISTER_SIZE #define AD7730_TEST_REGISTER_SIZE //Read/Write modes #define AD7730_SINGLE_WRITE_TO_REGISTER #define AD7730_SINGLE_READ_OF_REGISTER #define AD7730_START_CONTINUOUS_READ_OF_REGISTER #define AD7730_STOP_CONTINUOUS_READ_MODE typedef struct { U8 status_register; U16 mode_register; U24 filter_register; U8 dac_register; U24 offset_register; U24 gain_register_size; }AD7730Configuration; #define EXTRACT_24BITS(variable) #define ASSIGN_24BIT(variable, value) variable = value & 0x00FFFFFF; \ while(0)) //AD7730 functions void ad7730_select(); void ad7730_unselect();

8 8 16 24 16 24 8 24 24 24 (0) (1 << 4) (2 << 4) (3 << 4)

(variable & 0x00FFFFFF) (do{ \

int ad7730_8bit_write(int reg, U8 value); int ad7730_16bit_write(int reg, U16 value); int ad7730_24bit_write(int reg, U32 value); U8 ad7730_8bit_read(int reg); U16 ad7730_16bit_read(int reg); U32 ad7730_32bit_read(int reg); int int int int ad7730_init(AD7730_Configuration* ad_config); ad7730_load_ad_config(AD7730_Configration* ad_config); ad7730_store_ad_config(AD7730_Configuration* ad_config); ad7730_default_config(AD7730_Configuration*ad_config);

Potrebbero piacerti anche