更新:
1、ADS1220采集正常,正负电压都很准(信号发生器mv); 2、ADS1220的DRDY脚不能悬空,上拉后问题解决;
This commit is contained in:
parent
d715fad4de
commit
f2a2e82330
|
@ -280,6 +280,8 @@ static void ads1220_get_conversion_data(float32 *conversionData)
|
|||
{
|
||||
data_1220 ^= 0x00FFFFFF;
|
||||
data_1220 += 1;
|
||||
|
||||
data_1220 *= -1;
|
||||
}
|
||||
|
||||
//mv
|
||||
|
@ -345,7 +347,7 @@ void ads1220_operation(uint8_t channel, float32 *data_pv)
|
|||
ADS1220_OP_MODE_NORMAL, // 工作模式选择
|
||||
ADS1220_CONVERSION_SINGLE_SHOT, // 转换模式*
|
||||
ADS1220_DATA_RATE_45SPS, // 数据速率*
|
||||
ADS1220_GAIN_8, // 增益配置*
|
||||
ADS1220_GAIN_1, // 增益配置*
|
||||
ADS1220_PGA_BYPASS, // 禁止/启用可编程增益放大器
|
||||
ADS1220_IDAC1_DISABLED, // 选择IDAC1将路由到的通道
|
||||
ADS1220_IDAC2_DISABLED, // 选择IDAC2将路由到的通道
|
||||
|
|
|
@ -10,24 +10,25 @@ BOOL dac7811_spi_init_flag = FALSE;
|
|||
|
||||
void fun_dac7811_spi1_init()
|
||||
{
|
||||
hspi1.Instance = SPI1;
|
||||
hspi1.Init.Mode = SPI_MODE_MASTER;
|
||||
hspi1.Init.Direction = SPI_DIRECTION_2LINES;
|
||||
hspi1.Init.DataSize = SPI_DATASIZE_16BIT;
|
||||
hspi1.Init.CLKPolarity = SPI_POLARITY_HIGH;
|
||||
hspi1.Init.CLKPhase = SPI_PHASE_1EDGE;
|
||||
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_16BIT;
|
||||
// hspi1.Init.CLKPolarity = SPI_POLARITY_HIGH;
|
||||
// hspi1.Init.CLKPhase = SPI_PHASE_1EDGE;
|
||||
// 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_SET);
|
||||
//DAC7811_CS(GPIO_PIN_SET);
|
||||
DAC7811_CS(GPIO_PIN_RESET);
|
||||
}
|
||||
|
||||
void fun_dac7811_operate(float32 *data_sv)
|
||||
|
@ -70,9 +71,9 @@ void fun_dac7811_operate(float32 *data_sv)
|
|||
}
|
||||
else
|
||||
{
|
||||
//DAC7811_CS(GPIO_PIN_RESET);
|
||||
DAC7811_CS(GPIO_PIN_RESET);
|
||||
HAL_SPI_Transmit(&hspi1, (uint8_t *)(®_data), 1, 1000);
|
||||
//DAC7811_CS(GPIO_PIN_SET);
|
||||
DAC7811_CS(GPIO_PIN_SET);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -280,7 +280,8 @@ void mux_signal_switch(st_mux_signal *mux_signal)
|
|||
break;
|
||||
|
||||
case CH4_OUT_RES:
|
||||
if(mux_set_flag) fun_dac7811_operate(&mux_signal->data_sv); //设定
|
||||
//if(mux_set_flag) fun_dac7811_operate(&mux_signal->data_sv); //设定
|
||||
fun_dac7811_operate(&mux_signal->data_sv);
|
||||
break;
|
||||
|
||||
case CH5_EMPTY:
|
||||
|
|
|
@ -111,7 +111,7 @@ void MX_GPIO_Init(void)
|
|||
/*Configure GPIO pin : PtPin */
|
||||
GPIO_InitStruct.Pin = ADS1220_DRDY_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||
HAL_GPIO_Init(ADS1220_DRDY_GPIO_Port, &GPIO_InitStruct);
|
||||
|
||||
/*Configure GPIO pin : PtPin */
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -285,16 +285,6 @@
|
|||
<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>
|
||||
|
@ -317,7 +307,7 @@
|
|||
<DebugFlag>
|
||||
<trace>0</trace>
|
||||
<periodic>1</periodic>
|
||||
<aLwin>0</aLwin>
|
||||
<aLwin>1</aLwin>
|
||||
<aCover>0</aCover>
|
||||
<aSer1>0</aSer1>
|
||||
<aSer2>0</aSer2>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -247,8 +247,9 @@ NVIC.USART2_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
|
|||
NVIC.USART3_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
|
||||
NVIC.USART6_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
|
||||
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
|
||||
PA0-WKUP.GPIOParameters=GPIO_Label
|
||||
PA0-WKUP.GPIOParameters=GPIO_PuPd,GPIO_Label
|
||||
PA0-WKUP.GPIO_Label=ADS1220_DRDY
|
||||
PA0-WKUP.GPIO_PuPd=GPIO_PULLUP
|
||||
PA0-WKUP.Locked=true
|
||||
PA0-WKUP.Signal=GPIO_Input
|
||||
PA1.GPIOParameters=GPIO_Label
|
||||
|
|
Loading…
Reference in New Issue