62 lines
2.7 KiB
C
62 lines
2.7 KiB
C
#include "stm32f4xx_hal.h" // 添加HAL库头文件
|
|
#include "main.h"
|
|
|
|
/************************DA8568寄存器SR的值*****************************/
|
|
|
|
#define PrefixControlbyte 0x03//前缀控制字节
|
|
#define AddressOutA 0x0//通道A地址
|
|
#define AddressOutB 0x1//通道B地址
|
|
#define AddressOutC 0x2//通道C地址
|
|
#define AddressOutD 0x3//通道D地址
|
|
#define AddressOutE 0x4//通道E地址
|
|
#define AddressOutF 0x5//通道F地址
|
|
#define AddressOutG 0x6//通道G地址
|
|
#define AddressOutH 0x7//通道H地址
|
|
#define Featurebyte 0x0//特征字节
|
|
|
|
/*****DA8568寄存器SR的值-结尾*************************************/
|
|
|
|
/****************************DAC8568命令************************/
|
|
#define SETUP_INTERNAL_REGISTER 0
|
|
#define POWER_UP 1
|
|
#define RESET 2
|
|
/*****DAC8568命令-结尾*******************************************/
|
|
|
|
//---------------------------------------- Pin definition
|
|
|
|
//---------------------------------------- Command definition
|
|
#define DAC8568_EN_INTER_REF_STATIC 0x08000001
|
|
#define DAC8568_WRITE_UPDATE_SEL_DAC 0x03000000
|
|
|
|
//---------------------------------------- Reference Voltage
|
|
#define DAC8568_REF_VOLTAGE 2.5
|
|
|
|
void DAC8568_Init(void);
|
|
void DAC8568_Write_Update_Sel_DAC(uint32_t ChannelNum, uint32_t DACValue);
|
|
|
|
|
|
// #define DAC8568_SYNC_H GPIO_SetBits(GPIOA,GPIO_Pin_15)
|
|
// #define DAC8568_SYNC_L GPIO_ResetBits(GPIOA,GPIO_Pin_15)
|
|
// #define DAC8568_SCLK_H GPIO_SetBits(GPIOC,GPIO_Pin_10)
|
|
// #define DAC8568_SCLK_L GPIO_ResetBits(GPIOC,GPIO_Pin_10)
|
|
// #define DAC8568_DIN_H GPIO_SetBits(GPIOC,GPIO_Pin_12)
|
|
// #define DAC8568_DIN_L GPIO_ResetBits(GPIOC,GPIO_Pin_12)
|
|
//引脚拉高拉低
|
|
#define DAC8568_CS_H HAL_GPIO_WritePin(DAC8568_CS_GPIO_Port, DAC8568_CS_Pin, GPIO_PIN_SET)
|
|
#define DAC8568_CS_L HAL_GPIO_WritePin(DAC8568_CS_GPIO_Port, DAC8568_CS_Pin, GPIO_PIN_RESET)
|
|
#define DAC8568_SCLK_H HAL_GPIO_WritePin(DAC8568_SCLK_GPIO_Port, DAC8568_SCLK_Pin, GPIO_PIN_SET)
|
|
#define DAC8568_SCLK_L HAL_GPIO_WritePin(DAC8568_SCLK_GPIO_Port, DAC8568_SCLK_Pin, GPIO_PIN_RESET)
|
|
#define DAC8568_DIN_H HAL_GPIO_WritePin(DAC8568_DIN_GPIO_Port, DAC8568_DIN_Pin, GPIO_PIN_SET)
|
|
#define DAC8568_DIN_L HAL_GPIO_WritePin(DAC8568_DIN_GPIO_Port, DAC8568_DIN_Pin, GPIO_PIN_RESET)
|
|
#define DAC8568_LD_H HAL_GPIO_WritePin(DAC8568_LD_GPIO_Port, DAC8568_LD_Pin, GPIO_PIN_SET)
|
|
#define DAC8568_LD_L HAL_GPIO_WritePin(DAC8568_LD_GPIO_Port, DAC8568_LD_Pin, GPIO_PIN_RESET)
|
|
|
|
void dac8568_init(void);
|
|
void dac8568_set_voltage(unsigned char mCh,float mVol);
|
|
void SPI_SendByte(uint8_t m);
|
|
void DAC8568_Write_passageway(uint8_t Addressbyte, uint16_t Datashort);
|
|
void DAC8568_Write_Command(uint8_t command);
|
|
void dac8568_set_voltage(unsigned char mCh, float mVol);
|
|
void dac8568_spi_init(void);
|
|
void DAC8568_Init(void);
|
|
void dac8568_output_ch0_1v5(void); |