存档:SPI1频率64分频

This commit is contained in:
吴俊潮 2025-03-25 17:20:50 +08:00
parent 1888b94feb
commit e89ba509f8
5 changed files with 18658 additions and 18687 deletions

View File

@ -55,10 +55,10 @@ static void fun_ads1220_spi1_init(void)
// { // {
// HAL_SPI_TransmitReceive(&hspi1, pTxData, pRxData, 1, 1000); // HAL_SPI_TransmitReceive(&hspi1, pTxData, pRxData, 1, 1000);
// } // }
HAL_StatusTypeDef ads1220spi_status_watch;
static void spi_write_read(uint8_t *pTxData, uint8_t *pRxData, uint16_t Size) static void spi_write_read(uint8_t *pTxData, uint8_t *pRxData, uint16_t Size)
{ {
HAL_SPI_TransmitReceive(&hspi1, pTxData, pRxData, Size, 1000); ads1220spi_status_watch = HAL_SPI_TransmitReceive(&hspi1, pTxData, pRxData, Size, 1000);
} }
static void ads1220_write_regs(uint8_t *writeValues, uint8_t startReg, uint8_t length) static void ads1220_write_regs(uint8_t *writeValues, uint8_t startReg, uint8_t length)
@ -285,48 +285,48 @@ void ads1220_operation(uint8_t channel, float32 *data_pv)
ads1220_cs(CS_L); ads1220_cs(CS_L);
vTaskDelay(10); vTaskDelay(10);
if (channel == CH2_OUT_CUR) // if (channel == CH2_OUT_CUR)
{ // {
ads1220_reset(); // ads1220_reset();
vTaskDelay(5); // vTaskDelay(5);
setup_ads1220( // setup_ads1220(
ADS1220_MUX_AIN2_AVSS, // 输入多路复用器配置 // ADS1220_MUX_AIN2_AVSS, // 输入多路复用器配置
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_1, // 增益配置
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);
ads1220_start(); // ads1220_start();
vTaskDelay(30); // vTaskDelay(30);
ads1220_get_conversion_data(data_pv); // ads1220_get_conversion_data(data_pv);
} // }
else if (channel == CH10_IN_TC) // else if (channel == CH10_IN_TC)
{ // {
ads1220_reset(); ads1220_reset();
vTaskDelay(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_CONTINUOUS, // 转换模式*
ADS1220_DATA_RATE_45SPS, // 数据速率 ADS1220_DATA_RATE_20SPS, // 数据速率*
ADS1220_GAIN_1, // 增益配置 ADS1220_GAIN_32, // 增益配置*
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);
ads1220_start(); ads1220_start();
vTaskDelay(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);
} }

View File

@ -46,7 +46,7 @@ void MX_SPI1_Init(void)
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_256; hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_64;
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;
@ -78,7 +78,7 @@ void MX_SPI2_Init(void)
hspi2.Init.CLKPolarity = SPI_POLARITY_LOW; hspi2.Init.CLKPolarity = SPI_POLARITY_LOW;
hspi2.Init.CLKPhase = SPI_PHASE_2EDGE; hspi2.Init.CLKPhase = SPI_PHASE_2EDGE;
hspi2.Init.NSS = SPI_NSS_SOFT; hspi2.Init.NSS = SPI_NSS_SOFT;
hspi2.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; hspi2.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_32;
hspi2.Init.FirstBit = SPI_FIRSTBIT_MSB; hspi2.Init.FirstBit = SPI_FIRSTBIT_MSB;
hspi2.Init.TIMode = SPI_TIMODE_DISABLE; hspi2.Init.TIMode = SPI_TIMODE_DISABLE;
hspi2.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; hspi2.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;

View File

@ -587,7 +587,7 @@
<Group> <Group>
<GroupName>Application/User/App/MUX_SIGNAL</GroupName> <GroupName>Application/User/App/MUX_SIGNAL</GroupName>
<tvExp>0</tvExp> <tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel> <cbSel>0</cbSel>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>

File diff suppressed because it is too large Load Diff

View File

@ -559,18 +559,18 @@ SH.GPXTI1.0=GPIO_EXTI1
SH.GPXTI1.ConfNb=1 SH.GPXTI1.ConfNb=1
SH.S_TIM3_CH4.0=TIM3_CH4,Input_Capture4_from_TI4 SH.S_TIM3_CH4.0=TIM3_CH4,Input_Capture4_from_TI4
SH.S_TIM3_CH4.ConfNb=1 SH.S_TIM3_CH4.ConfNb=1
SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_256 SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_64
SPI1.CLKPhase=SPI_PHASE_2EDGE SPI1.CLKPhase=SPI_PHASE_2EDGE
SPI1.CalculateBaudRate=162.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.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,CLKPhase,BaudRatePrescaler
SPI1.Mode=SPI_MODE_MASTER SPI1.Mode=SPI_MODE_MASTER
SPI1.VirtualType=VM_MASTER SPI1.VirtualType=VM_MASTER
SPI2.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_16 SPI2.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_32
SPI2.CLKPhase=SPI_PHASE_2EDGE SPI2.CLKPhase=SPI_PHASE_2EDGE
SPI2.CLKPolarity=SPI_POLARITY_LOW SPI2.CLKPolarity=SPI_POLARITY_LOW
SPI2.CRCCalculation=SPI_CRCCALCULATION_DISABLE SPI2.CRCCalculation=SPI_CRCCALCULATION_DISABLE
SPI2.CalculateBaudRate=2.592 MBits/s SPI2.CalculateBaudRate=1.296 MBits/s
SPI2.Direction=SPI_DIRECTION_2LINES SPI2.Direction=SPI_DIRECTION_2LINES
SPI2.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,CLKPolarity,CLKPhase,BaudRatePrescaler,CRCCalculation SPI2.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,CLKPolarity,CLKPhase,BaudRatePrescaler,CRCCalculation
SPI2.Mode=SPI_MODE_MASTER SPI2.Mode=SPI_MODE_MASTER