ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 марта
1046466 Топик полностью
SciFi (23.10.2020 13:15, просмотров: 750) ответил Peter_M на Подскажите как сейчас правильно организовать в микроконтроллере программные таймеры?
Обычно не нужно строго выдерживать период, достаточно "в следующий раз через N мс или чуть позже". В этом случае удобно вот так: 
unsigned int uptime_ms(void)
{
  return global_ms_counter;
}

int main()
{
  // main loop
  for (;;)
  {
    static unsigned int prev_a;
    if (uptime_ms() - prev_a > 25)
    {
      prev_a = uptime_ms();
      // do something
    }
    static unsigned int prev_b;
    if (uptime_ms() - prev_b > 100)
    {
      prev_b = uptime_ms();
      // do something
    }
    // and so on ...
  }
}
ส็็็็็็็็็็็็็็็็็็็็็็็็็༼ ຈل͜ຈ༽ส้้้้้้้้้้้้้้้้้้้้้้้