parent
2de39a3a96
commit
d715fad4de
|
@ -44,7 +44,8 @@
|
|||
"modbus_register_process.h": "c",
|
||||
"modbus_rtu_master.h": "c",
|
||||
"dac7811.h": "c",
|
||||
"sig24130.h": "c"
|
||||
"sig24130.h": "c",
|
||||
"array": "c"
|
||||
},
|
||||
"C_Cpp.errorSquiggles": "disabled",
|
||||
"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)
|
||||
{
|
||||
hspi1.Instance = SPI1;
|
||||
hspi1.Init.Mode = SPI_MODE_MASTER;
|
||||
hspi1.Init.Direction = SPI_DIRECTION_2LINES;
|
||||
hspi1.Init.DataSize = SPI_DATASIZE_8BIT;
|
||||
hspi1.Init.CLKPolarity = SPI_POLARITY_LOW;
|
||||
hspi1.Init.CLKPhase = SPI_PHASE_2EDGE;
|
||||
hspi1.Init.NSS = SPI_NSS_SOFT;
|
||||
hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_8;
|
||||
hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
|
||||
hspi1.Init.TIMode = SPI_TIMODE_DISABLE;
|
||||
hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
|
||||
hspi1.Init.CRCPolynomial = 10;
|
||||
if (HAL_SPI_Init(&hspi1) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
// hspi1.Instance = SPI1;
|
||||
// hspi1.Init.Mode = SPI_MODE_MASTER;
|
||||
// hspi1.Init.Direction = SPI_DIRECTION_2LINES;
|
||||
// hspi1.Init.DataSize = SPI_DATASIZE_8BIT;
|
||||
// hspi1.Init.CLKPolarity = SPI_POLARITY_LOW;
|
||||
// hspi1.Init.CLKPhase = SPI_PHASE_2EDGE;
|
||||
// hspi1.Init.NSS = SPI_NSS_SOFT;
|
||||
// hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_8;
|
||||
// hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
|
||||
// hspi1.Init.TIMode = SPI_TIMODE_DISABLE;
|
||||
// hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
|
||||
// hspi1.Init.CRCPolynomial = 10;
|
||||
// if (HAL_SPI_Init(&hspi1) != HAL_OK)
|
||||
// {
|
||||
// Error_Handler();
|
||||
// }
|
||||
MX_SPI1_Init();
|
||||
ADS1220_CS(GPIO_PIN_RESET);
|
||||
//DAC7811_CS(GPIO_PIN_SET);
|
||||
DAC7811_CS(GPIO_PIN_SET);
|
||||
}
|
||||
|
||||
// static void spi_write_byte(uint8_t data)
|
||||
|
@ -255,22 +256,34 @@ static void ads1220_start(void)
|
|||
// uint8_t cmd = ADS1220_POWERDOWN_CMD;
|
||||
// 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)
|
||||
{
|
||||
uint8_t out_data[3] = {0xff, 0xff, 0xff};
|
||||
uint8_t in_data[3] = {0};
|
||||
long data = 0;
|
||||
// uint8_t in_data[3] = {0};
|
||||
// long data = 0;
|
||||
|
||||
spi_write_read(out_data, in_data, 3);
|
||||
data = (((long)in_data[0] << 16) + ((long)in_data[1] << 8) + (long)in_data[2]);
|
||||
if (data & 0x800000)
|
||||
// spi_write_read(out_data, in_data, 3);
|
||||
// data = (((long)in_data[0] << 16) + ((long)in_data[1] << 8) + (long)in_data[2]);
|
||||
// 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 += 1;
|
||||
data_1220 ^= 0x00FFFFFF;
|
||||
data_1220 += 1;
|
||||
}
|
||||
|
||||
//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)
|
||||
|
@ -299,7 +312,8 @@ void ads1220_operation(uint8_t channel, float32 *data_pv)
|
|||
}
|
||||
|
||||
ads1220_cs(CS_L);
|
||||
vTaskDelay(10);
|
||||
//vTaskDelay(10);
|
||||
HAL_Delay(10);
|
||||
// if (channel == CH2_OUT_CUR)
|
||||
// {
|
||||
// ads1220_reset();
|
||||
|
@ -324,24 +338,28 @@ void ads1220_operation(uint8_t channel, float32 *data_pv)
|
|||
// else if (channel == CH10_IN_TC)
|
||||
// {
|
||||
ads1220_reset();
|
||||
vTaskDelay(5);
|
||||
HAL_Delay(5);
|
||||
//vTaskDelay(5);
|
||||
setup_ads1220(
|
||||
ADS1220_MUX_AIN0_AIN1, // 输入多路复用器配置
|
||||
ADS1220_OP_MODE_NORMAL, // 工作模式选择
|
||||
ADS1220_CONVERSION_SINGLE_SHOT, // 转换模式*
|
||||
ADS1220_DATA_RATE_45SPS, // 数据速率*
|
||||
ADS1220_GAIN_1, // 增益配置*
|
||||
ADS1220_GAIN_8, // 增益配置*
|
||||
ADS1220_PGA_BYPASS, // 禁止/启用可编程增益放大器
|
||||
ADS1220_IDAC1_DISABLED, // 选择IDAC1将路由到的通道
|
||||
ADS1220_IDAC2_DISABLED, // 选择IDAC2将路由到的通道
|
||||
ADS1220_IDAC_CURRENT_OFF, // IDAC电流设置
|
||||
ADS1220_VREF_EXT_REF0_PINS, // 基准电压选择*
|
||||
ADS1220_TEMP_SENSOR_OFF); // 温度传感器
|
||||
vTaskDelay(5);
|
||||
//vTaskDelay(5);
|
||||
HAL_Delay(5);
|
||||
ads1220_start();
|
||||
vTaskDelay(30);
|
||||
HAL_Delay(30);
|
||||
//vTaskDelay(30);
|
||||
ads1220_get_conversion_data(data_pv);
|
||||
// }
|
||||
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 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 */
|
||||
|
||||
|
|
|
@ -270,6 +270,31 @@
|
|||
<WinNumber>1</WinNumber>
|
||||
<ItemText>cali_paras</ItemText>
|
||||
</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>
|
||||
<WatchWindow2>
|
||||
<Ww>
|
||||
|
@ -292,7 +317,7 @@
|
|||
<DebugFlag>
|
||||
<trace>0</trace>
|
||||
<periodic>1</periodic>
|
||||
<aLwin>1</aLwin>
|
||||
<aLwin>0</aLwin>
|
||||
<aCover>0</aCover>
|
||||
<aSer1>0</aSer1>
|
||||
<aSer2>0</aSer2>
|
||||
|
|
|
@ -315,7 +315,7 @@
|
|||
</ArmAdsMisc>
|
||||
<Cads>
|
||||
<interw>1</interw>
|
||||
<Optim>3</Optim>
|
||||
<Optim>1</Optim>
|
||||
<oTime>1</oTime>
|
||||
<SplitLS>0</SplitLS>
|
||||
<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.CalculateBaudRate=648.0 KBits/s
|
||||
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.VirtualType=VM_MASTER
|
||||
SPI2.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_32
|
||||
|
|
Loading…
Reference in New Issue