1. Си / Говнокод #12905

    +133

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    void DUR_check()
    {
        DUR_tick[DUR_link]=DUR_tmp_tick;
        DUR_tmp_tick=0;
        DUR_link++;
        if(DUR_link > 9) DUR_link=0;
        S32 tmp3 = DUR_tick[0] + DUR_tick[1] + DUR_tick[2] + DUR_tick[3] + DUR_tick[4] + DUR_tick[5] + DUR_tick[6] + DUR_tick[7] + DUR_tick[8] + DUR_tick[9];
        //tmp3=((tmp3-HZ_MIN)*100)/(HZ_MAX-HZ_MIN);
        tmp3=(tmp3/10)-50;
        if(tmp3<0)tmp3=0;
        if(tmp3>100)tmp3=100;
        DUR_level=tmp3;
    }

    Первый блин, возможно комом.
    Один из проектов, который был передан мне.
    Это расчет процента заполнения ёмкости по частотному датчику.
    DUR_tmp_tick - количество прерываний от датчика,
    DUR_level - это и есть рассчитанные проценты.
    Все переменные глобальные, фильтр организован.
    Вызывается функция в другом прерывании, от таймера.
    Впрочем, всё остальное тоже вызывается в прерывании от таймера.

    Запостил: apparato, 17 Апреля 2013

    Комментарии (3) RSS

    Добавить комментарий