В проекте АЦП работает по прерыванию от таймера, в прерывании цикл с остановом по тикам таймера - дергает ножками АЦП для её запуска.
В RTOS сделать цикл с остановкой по таймеру не удаётся.
Спойлер
Код: Выделить всё
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef * htim)
{
if (htim->Instance == TIM1)
{
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_5);
for (volatile __IO uint32_t i = 0, f = 0; f <255 ;[b][u] f = htim->Instance->CNT[/u][/b])
{
i = htim->Instance->CNT;
if (i > 6)
f = 255;
if(htim->Instance->CNT != last)
{
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_9);
last = htim->Instance->CNT;
}
}
}
}
Спойлер
Код: Выделить всё
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef * htim)
{
if (htim->Instance == TIM1)
{
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_5);
for (volatile __IO uint32_t i = 0, f = 0; f <255 ; [b][u]f ++[/u][/b])
{
i = htim->Instance->CNT;
if (i > 6)
f = 255;
if(htim->Instance->CNT != last)
{
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_9);
last = htim->Instance->CNT;
}
}
}
}Код: Выделить всё
htim->Instance->CNTХочу понять что я не так делаю и как мне реализовать требуемый функционал - цикл в котором буду дергать ножки АЦП контролируя временные интервалы.


