Есть ли способ ограничить диапазон значений типа целочисленных данных - PullRequest
0 голосов
/ 02 июля 2019

Я пытаюсь дать ШИМ поклоннику, чтобы я мог дать значение (в моем случае это называется fanduty) только от 0 до 100.но uint8_t имеет значения от 0 до 256.

    if(Temp > 40)                         
                     Fan_Duty ++;
    else if(Temp < 40)                                           
                     Fan_Duty --;
    else
                     //do nothing

, поэтому значение Fan_duty идет от 0 до 256, тогда как при уменьшении оно начинается с 256 и переходит в 0, с 256 до 100 - бесполезно и, следовательно, тратит драгоценное времятак что я хочу, чтобы это значение не превышало сотни.как ограничить целочисленный диапазон?

1 Ответ

3 голосов
/ 02 июля 2019

Сначала проверьте значение Fan_Duty, а затем увеличьте / уменьшите его.

if (Temp > 40)
{                        
    if (Fan_Duty < 100)
    {
        Fan_Duty ++;
    }
}
else if (Temp < 40)
{
    if (Fan_Duty > 0)
    {
        Fan_Duty --;
    }
}
else
{
      //do nothing
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...