parent
2de39a3a96
commit
d715fad4de
|
@ -44,7 +44,8 @@
|
||||||
"modbus_register_process.h": "c",
|
"modbus_register_process.h": "c",
|
||||||
"modbus_rtu_master.h": "c",
|
"modbus_rtu_master.h": "c",
|
||||||
"dac7811.h": "c",
|
"dac7811.h": "c",
|
||||||
"sig24130.h": "c"
|
"sig24130.h": "c",
|
||||||
|
"array": "c"
|
||||||
},
|
},
|
||||||
"C_Cpp.errorSquiggles": "disabled",
|
"C_Cpp.errorSquiggles": "disabled",
|
||||||
"idf.pythonInstallPath": "F:\\Espressif\\tools\\idf-python\\3.11.2\\python.exe",
|
"idf.pythonInstallPath": "F:\\Espressif\\tools\\idf-python\\3.11.2\\python.exe",
|
||||||
|
|
|
@ -40,24 +40,25 @@ static void ads1220_cs(cs_state_type state)
|
||||||
|
|
||||||
static void fun_ads1220_spi1_init(void)
|
static void fun_ads1220_spi1_init(void)
|
||||||
{
|
{
|
||||||
hspi1.Instance = SPI1;
|
// hspi1.Instance = SPI1;
|
||||||
hspi1.Init.Mode = SPI_MODE_MASTER;
|
// hspi1.Init.Mode = SPI_MODE_MASTER;
|
||||||
hspi1.Init.Direction = SPI_DIRECTION_2LINES;
|
// hspi1.Init.Direction = SPI_DIRECTION_2LINES;
|
||||||
hspi1.Init.DataSize = SPI_DATASIZE_8BIT;
|
// hspi1.Init.DataSize = SPI_DATASIZE_8BIT;
|
||||||
hspi1.Init.CLKPolarity = SPI_POLARITY_LOW;
|
// hspi1.Init.CLKPolarity = SPI_POLARITY_LOW;
|
||||||
hspi1.Init.CLKPhase = SPI_PHASE_2EDGE;
|
// hspi1.Init.CLKPhase = SPI_PHASE_2EDGE;
|
||||||
hspi1.Init.NSS = SPI_NSS_SOFT;
|
// hspi1.Init.NSS = SPI_NSS_SOFT;
|
||||||
hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_8;
|
// hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_8;
|
||||||
hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
|
// hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
|
||||||
hspi1.Init.TIMode = SPI_TIMODE_DISABLE;
|
// hspi1.Init.TIMode = SPI_TIMODE_DISABLE;
|
||||||
hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
|
// hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
|
||||||
hspi1.Init.CRCPolynomial = 10;
|
// hspi1.Init.CRCPolynomial = 10;
|
||||||
if (HAL_SPI_Init(&hspi1) != HAL_OK)
|
// if (HAL_SPI_Init(&hspi1) != HAL_OK)
|
||||||
{
|
// {
|
||||||
Error_Handler();
|
// Error_Handler();
|
||||||
}
|
// }
|
||||||
|
MX_SPI1_Init();
|
||||||
ADS1220_CS(GPIO_PIN_RESET);
|
ADS1220_CS(GPIO_PIN_RESET);
|
||||||
//DAC7811_CS(GPIO_PIN_SET);
|
DAC7811_CS(GPIO_PIN_SET);
|
||||||
}
|
}
|
||||||
|
|
||||||
// static void spi_write_byte(uint8_t data)
|
// static void spi_write_byte(uint8_t data)
|
||||||
|
@ -255,22 +256,34 @@ static void ads1220_start(void)
|
||||||
// uint8_t cmd = ADS1220_POWERDOWN_CMD;
|
// uint8_t cmd = ADS1220_POWERDOWN_CMD;
|
||||||
// spi_write_read(&cmd, RcvData, 1);
|
// spi_write_read(&cmd, RcvData, 1);
|
||||||
//}
|
//}
|
||||||
|
uint8_t in_data_1220[3] = {0};
|
||||||
|
int data_1220_raw = 0;
|
||||||
|
long data_1220 = 0;
|
||||||
static void ads1220_get_conversion_data(float32 *conversionData)
|
static void ads1220_get_conversion_data(float32 *conversionData)
|
||||||
{
|
{
|
||||||
uint8_t out_data[3] = {0xff, 0xff, 0xff};
|
uint8_t out_data[3] = {0xff, 0xff, 0xff};
|
||||||
uint8_t in_data[3] = {0};
|
// uint8_t in_data[3] = {0};
|
||||||
long data = 0;
|
// long data = 0;
|
||||||
|
|
||||||
spi_write_read(out_data, in_data, 3);
|
// spi_write_read(out_data, in_data, 3);
|
||||||
data = (((long)in_data[0] << 16) + ((long)in_data[1] << 8) + (long)in_data[2]);
|
// data = (((long)in_data[0] << 16) + ((long)in_data[1] << 8) + (long)in_data[2]);
|
||||||
if (data & 0x800000)
|
// if (data & 0x800000)
|
||||||
|
// {
|
||||||
|
// data ^= 0x00FFFFFF;
|
||||||
|
// data += 1;
|
||||||
|
// }
|
||||||
|
|
||||||
|
spi_write_read(out_data, in_data_1220, 3);
|
||||||
|
data_1220_raw = data_1220;
|
||||||
|
data_1220 = (((long)in_data_1220[0] << 16) + ((long)in_data_1220[1] << 8) + (long)in_data_1220[2]);
|
||||||
|
if (data_1220 & 0x800000)
|
||||||
{
|
{
|
||||||
data ^= 0x00FFFFFF;
|
data_1220 ^= 0x00FFFFFF;
|
||||||
data += 1;
|
data_1220 += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//mv
|
//mv
|
||||||
*conversionData = 1000 * (float32)data * 2.5f / 8388608;
|
*conversionData = 1000 * (float32)data_1220 * 2.5f / 8388608;
|
||||||
}
|
}
|
||||||
|
|
||||||
//static void ads1220_get_rtd_conversion_data_calibrated(volatile long *code)
|
//static void ads1220_get_rtd_conversion_data_calibrated(volatile long *code)
|
||||||
|
@ -299,7 +312,8 @@ void ads1220_operation(uint8_t channel, float32 *data_pv)
|
||||||
}
|
}
|
||||||
|
|
||||||
ads1220_cs(CS_L);
|
ads1220_cs(CS_L);
|
||||||
vTaskDelay(10);
|
//vTaskDelay(10);
|
||||||
|
HAL_Delay(10);
|
||||||
// if (channel == CH2_OUT_CUR)
|
// if (channel == CH2_OUT_CUR)
|
||||||
// {
|
// {
|
||||||
// ads1220_reset();
|
// ads1220_reset();
|
||||||
|
@ -324,24 +338,28 @@ void ads1220_operation(uint8_t channel, float32 *data_pv)
|
||||||
// else if (channel == CH10_IN_TC)
|
// else if (channel == CH10_IN_TC)
|
||||||
// {
|
// {
|
||||||
ads1220_reset();
|
ads1220_reset();
|
||||||
vTaskDelay(5);
|
HAL_Delay(5);
|
||||||
|
//vTaskDelay(5);
|
||||||
setup_ads1220(
|
setup_ads1220(
|
||||||
ADS1220_MUX_AIN0_AIN1, // 输入多路复用器配置
|
ADS1220_MUX_AIN0_AIN1, // 输入多路复用器配置
|
||||||
ADS1220_OP_MODE_NORMAL, // 工作模式选择
|
ADS1220_OP_MODE_NORMAL, // 工作模式选择
|
||||||
ADS1220_CONVERSION_SINGLE_SHOT, // 转换模式*
|
ADS1220_CONVERSION_SINGLE_SHOT, // 转换模式*
|
||||||
ADS1220_DATA_RATE_45SPS, // 数据速率*
|
ADS1220_DATA_RATE_45SPS, // 数据速率*
|
||||||
ADS1220_GAIN_1, // 增益配置*
|
ADS1220_GAIN_8, // 增益配置*
|
||||||
ADS1220_PGA_BYPASS, // 禁止/启用可编程增益放大器
|
ADS1220_PGA_BYPASS, // 禁止/启用可编程增益放大器
|
||||||
ADS1220_IDAC1_DISABLED, // 选择IDAC1将路由到的通道
|
ADS1220_IDAC1_DISABLED, // 选择IDAC1将路由到的通道
|
||||||
ADS1220_IDAC2_DISABLED, // 选择IDAC2将路由到的通道
|
ADS1220_IDAC2_DISABLED, // 选择IDAC2将路由到的通道
|
||||||
ADS1220_IDAC_CURRENT_OFF, // IDAC电流设置
|
ADS1220_IDAC_CURRENT_OFF, // IDAC电流设置
|
||||||
ADS1220_VREF_EXT_REF0_PINS, // 基准电压选择*
|
ADS1220_VREF_EXT_REF0_PINS, // 基准电压选择*
|
||||||
ADS1220_TEMP_SENSOR_OFF); // 温度传感器
|
ADS1220_TEMP_SENSOR_OFF); // 温度传感器
|
||||||
vTaskDelay(5);
|
//vTaskDelay(5);
|
||||||
|
HAL_Delay(5);
|
||||||
ads1220_start();
|
ads1220_start();
|
||||||
vTaskDelay(30);
|
HAL_Delay(30);
|
||||||
|
//vTaskDelay(30);
|
||||||
ads1220_get_conversion_data(data_pv);
|
ads1220_get_conversion_data(data_pv);
|
||||||
// }
|
// }
|
||||||
ads1220_cs(CS_H);
|
ads1220_cs(CS_H);
|
||||||
vTaskDelay(5);
|
//vTaskDelay(5);
|
||||||
|
HAL_Delay(5);
|
||||||
}
|
}
|
||||||
|
|
|
@ -166,7 +166,7 @@ extern "C" {
|
||||||
|
|
||||||
#define ADS1220_CS(CS) HAL_GPIO_WritePin(ADS1220_CS_GPIO_Port, ADS1220_CS_Pin, CS)
|
#define ADS1220_CS(CS) HAL_GPIO_WritePin(ADS1220_CS_GPIO_Port, ADS1220_CS_Pin, CS)
|
||||||
|
|
||||||
//#define DAC7811_CS(CS) HAL_GPIO_WritePin(DAC7811_CS_GPIO_Port, DAC7811_CS_Pin, CS)
|
#define DAC7811_CS(CS) HAL_GPIO_WritePin(DAC7811_SYNC_GPIO_Port, DAC7811_SYNC_Pin, CS)
|
||||||
|
|
||||||
/* USER CODE END Private defines */
|
/* USER CODE END Private defines */
|
||||||
|
|
||||||
|
|
|
@ -270,6 +270,31 @@
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>cali_paras</ItemText>
|
<ItemText>cali_paras</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
|
<Ww>
|
||||||
|
<count>23</count>
|
||||||
|
<WinNumber>1</WinNumber>
|
||||||
|
<ItemText>in_data_1220</ItemText>
|
||||||
|
</Ww>
|
||||||
|
<Ww>
|
||||||
|
<count>24</count>
|
||||||
|
<WinNumber>1</WinNumber>
|
||||||
|
<ItemText>data_1220_raw</ItemText>
|
||||||
|
</Ww>
|
||||||
|
<Ww>
|
||||||
|
<count>25</count>
|
||||||
|
<WinNumber>1</WinNumber>
|
||||||
|
<ItemText>data_1220</ItemText>
|
||||||
|
</Ww>
|
||||||
|
<Ww>
|
||||||
|
<count>26</count>
|
||||||
|
<WinNumber>1</WinNumber>
|
||||||
|
<ItemText>ads1220spi_status_watch</ItemText>
|
||||||
|
</Ww>
|
||||||
|
<Ww>
|
||||||
|
<count>27</count>
|
||||||
|
<WinNumber>1</WinNumber>
|
||||||
|
<ItemText>RcvData</ItemText>
|
||||||
|
</Ww>
|
||||||
</WatchWindow1>
|
</WatchWindow1>
|
||||||
<WatchWindow2>
|
<WatchWindow2>
|
||||||
<Ww>
|
<Ww>
|
||||||
|
@ -292,7 +317,7 @@
|
||||||
<DebugFlag>
|
<DebugFlag>
|
||||||
<trace>0</trace>
|
<trace>0</trace>
|
||||||
<periodic>1</periodic>
|
<periodic>1</periodic>
|
||||||
<aLwin>1</aLwin>
|
<aLwin>0</aLwin>
|
||||||
<aCover>0</aCover>
|
<aCover>0</aCover>
|
||||||
<aSer1>0</aSer1>
|
<aSer1>0</aSer1>
|
||||||
<aSer2>0</aSer2>
|
<aSer2>0</aSer2>
|
||||||
|
|
|
@ -315,7 +315,7 @@
|
||||||
</ArmAdsMisc>
|
</ArmAdsMisc>
|
||||||
<Cads>
|
<Cads>
|
||||||
<interw>1</interw>
|
<interw>1</interw>
|
||||||
<Optim>3</Optim>
|
<Optim>1</Optim>
|
||||||
<oTime>1</oTime>
|
<oTime>1</oTime>
|
||||||
<SplitLS>0</SplitLS>
|
<SplitLS>0</SplitLS>
|
||||||
<OneElfS>1</OneElfS>
|
<OneElfS>1</OneElfS>
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -659,7 +659,8 @@ SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_64
|
||||||
SPI1.CLKPhase=SPI_PHASE_2EDGE
|
SPI1.CLKPhase=SPI_PHASE_2EDGE
|
||||||
SPI1.CalculateBaudRate=648.0 KBits/s
|
SPI1.CalculateBaudRate=648.0 KBits/s
|
||||||
SPI1.Direction=SPI_DIRECTION_2LINES
|
SPI1.Direction=SPI_DIRECTION_2LINES
|
||||||
SPI1.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,CLKPhase,BaudRatePrescaler
|
SPI1.FirstBit=SPI_FIRSTBIT_MSB
|
||||||
|
SPI1.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,CLKPhase,BaudRatePrescaler,FirstBit
|
||||||
SPI1.Mode=SPI_MODE_MASTER
|
SPI1.Mode=SPI_MODE_MASTER
|
||||||
SPI1.VirtualType=VM_MASTER
|
SPI1.VirtualType=VM_MASTER
|
||||||
SPI2.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_32
|
SPI2.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_32
|
||||||
|
|
Loading…
Reference in New Issue