здравствуйте форумчане, может кто знает как заставить таймер в тупую считать пинки резонатора?
а-ля, как настроить канал, чтобы после обнуления последнего я знал сколько тиков прошло?
зы. шина на которой висит 3 таймер работает на частоте 36Мгц и с установленным предделителем срабатывает каждую миллисекунду.
C++:
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim) // колбек по захвату TIM4
{
if (htim->Instance == TIM4) // Прерывание от TIM4
{
HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);
if (htim->Channel == HAL_TIM_ACTIVE_CHANNEL_3) // Переход 0->1 ?
{
__HAL_TIM_SET_COUNTER(&htim4, 0x0000); // Обнуление счётчика
__HAL_TIM_SET_COUNTER(&htim3, 0x0000); // Обнуление счётчика
} else if (htim->Channel == HAL_TIM_ACTIVE_CHANNEL_4) // Переход 1->0 ?
{
speed = HAL_TIM_ReadCapturedValue(&htim4, TIM_CHANNEL_4); // Чтение значения в регистре захвата/сравнения
hitch = HAL_TIM_ReadCapturedValue(&htim3, TIM_CHANNEL_4); // Чтение значения в регистре захвата/сравнения
}
}
}
а-ля, как настроить канал, чтобы после обнуления последнего я знал сколько тиков прошло?
зы. шина на которой висит 3 таймер работает на частоте 36Мгц и с установленным предделителем срабатывает каждую миллисекунду.