Добавлен ADC SEQ (заготовка пока)

И небольшой рефакторинг
This commit is contained in:
2025-12-26 18:44:38 +03:00
parent 8e350e6a91
commit c7fdf6776f
16 changed files with 1758 additions and 1933 deletions

View File

@@ -48,3 +48,36 @@ void micros_inc(void)
{
uwTick++;
}
OperationStatus rcu_set_clock_adc(RCU_PeriphClk_TypeDef ClkSrc, float ClkMHz, FunctionalState state)
{
RCU_ADCClkCmd(DISABLE);
uint32_t adc_raw_clock = 0;
float adc_clock_div = 0;
switch(ClkSrc)
{
case RCU_PeriphClk_OSEClk:
adc_raw_clock = RCU_GetOSEClkFreq();
break;
case RCU_PeriphClk_OSIClk:
adc_raw_clock = RCU_GetOSIClkFreq();
break;
case RCU_PeriphClk_PLLClk:
adc_raw_clock = RCU_GetPLLClkFreq();
break;
case RCU_PeriphClk_PLLDivClk:
adc_raw_clock = RCU_GetPLLDivClkFreq();
break;
}
adc_clock_div = adc_raw_clock/(ClkMHz*__MHZ);
if(adc_clock_div < 1)
return ERROR;
RCU_ADCClkConfig(ClkSrc, 7, ENABLE); //12.5MHz
RCU_ADCClkCmd(ENABLE);
return OK;
}