sggt/App/DAC8552/dac8552.h

51 lines
1.2 KiB
C

/*
* @Author: DaMingSY zxm5337@163.com
* @Date: 2024-09-04 16:55:41
* @LastEditors: DaMingSY zxm5337@163.com
* @LastEditTime: 2024-09-11 11:48:45
* @FilePath: \signal_generator\App\DAC8552\dac8552.h
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
#ifndef __DAC8552_DRIVER_H
#define __DAC8552_DRIVER_H
#include "data_type_def.h"
typedef enum
{
LD_CH_NONE = 0,
LD_CH_A,
LD_CH_B,
LD_CH_AB,
} dac8552_ld_type;
typedef enum
{
SEL_BUF_A = 0X00,
SEL_BUF_B,
} dac8552_bs_type;
typedef enum
{
PD_NONE = 0X00,
PD_1K2GND,
PD_100K2GND,
PD_H_IMPEDANCE,
} dac8552_pd_type;
typedef void (*dac8552_write)(uint8_t *data, uint16_t len);
typedef void (*dac8552_chip_select)(cs_state_type state);
typedef struct dac8552_object
{
uint8_t init_flag;
void (*write_data)(uint8_t *data, uint16_t len);
void (*chip_selcet)(cs_state_type state);
} dac8552x_object;
extern dac8552x_object dac8552;
void dac8552_init(dac8552x_object *dac, dac8552_write write, dac8552_chip_select cs);
void dac8552_operation(float32 *data1, float32 *data2);
#endif