Ïðîêîíñóëüòèðóéòå ïîæàëóéñòà íà ñ÷¸ò òàéìåðà:
ß â îáðàáîò÷èê ñäåëàë çàìåíó çíà÷åíèÿ ïåðèîäà òàéìåðà, âûçûâàþ îáíîâëåíèå, íàáëþäàþ ñîîòâåòñòâóþùèå èçìåíåíèÿ, â òîì-÷èñëå - è â ðåãèñòðå "TIM1->ARR".
Êîä:
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
if(htim->Instance == TIM1)
{
HAL_GPIO_TogglePin(Svetodiod_GPIO_Port, GPIO_PIN_13);
HAL_ADC_Start(&hadc1);
HAL_ADC_PollForConversion(&hadc1, 1);
AD_RES = HAL_ADC_GetValue(&hadc1);
htim1.Init.Period = AD_RES*10;
TIM_Base_SetConfig(htim->Instance, &htim->Init);
}
}
Ñâåòîäèîä äîëæåí ìèãàòü ñî ñêîðîñòüþ çàäàííîé â ÀÖÏ - íî îí âîîáùå íå ìèãàåò! - ïðîøó ïðîÿñíèòü.