在 Arduino 中限制數字在給定範圍內
Arduino 中的 constrain() 函式顧名思義,可以將數字限制在上限和下限之間。
語法
constrain(val, min, max)
其中,val 是要限制的數字,min 是下限值,max 是上限值
如果 val 小於 min,則此函式將返回 min。如果 val 大於 max,則此函式將返回 max。只要 val 在 min 和 max 之間,此函式就會返回 val。
示例
以下示例說明了此函式的使用:
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println();
int a = 200;
Serial.println(constrain(a, 5, 210));
Serial.println(constrain(a, 300, 400));
Serial.println(constrain(a, 100, 150));
}
void loop() {
// put your main code here, to run repeatedly:
}輸出
序列埠監視器輸出如下所示:

如您所見,在第一種情況下,整數 a 在範圍內,因此它被返回。在第二種情況下,a 小於下限,因此返回下限,在第三種情況下,a 高於上限,因此返回上限。
請注意,根據 Arduino 的文件 (https://www.arduino.cc/reference/en/language/functions/math/constrain/),建議避免在 constrain 中使用其他函式。
這 constrain (analogRead(A0), 10,50); 可能會產生錯誤的結果。相反,您可以嘗試:
int a = analogRead(A0); int a_constr = constrain(a, 10, 50);
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP