четверг, 29 декабря 2016 г.

Ещё более извращенский способ измерения скважности силами STM32 (когда совсем плохо с полноценными таймерами и остались только ущербные) - тупо по прерыванию на ноге (настроить на прерывания и по фронту и по спаду)

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
  if (GPIO_Pin == GPIO_PIN_х)
  {
    if (HAL_GPIO_ReadPin(GPIOх, GPIO_PIN_х)) // типа по фронту
    {
     Period=TIMх->CNT; //период предыдущего цикла
     __HAL_TIM_SET_COUNTER(&htimХ, 0x00);
    }
   else // кроме фронта остались только спады
    {
    Duty=TIMх->CNT; //длительность текущего цикла
    }
...не быстро, затратно, чувствительно к дребезгу, но на безрыбье, как говорится, сам раком встанешь... 

Комментариев нет :

Отправить комментарий