用户工具

站点工具


reference:language:digitalwrite

差别

这里会显示出您选择的修订版和当前版本之间的差别。


前一修订版
reference:language:digitalwrite [2023/06/07 04:23] (当前版本) – 外部编辑 127.0.0.1
行 1: 行 1:
 +====== digitalWrite() ======
  
 +===== 描述 =====
 +
 +给一个数字引脚写入HIGH或者LOW。
 +
 +如果一个引脚已经使用pinMode()配置为OUTPUT模式,其电压将被设置为相应的值,HIGH为5V(3.3V控制板上为3.3V),LOW为0V。
 +
 +如果引脚配置为INPUT模式,使用digitalWrite()写入HIGH值,将使内部20K上拉电阻(详见数字引脚教程)。写入LOW将会禁用上拉。上拉电阻可以点亮一个LED让其微微亮,如果LED工作,但是亮度很低,可能是因为这个原因引起的。补救的办法是 使用pinMode()函数设置为输出引脚。
 +
 +**注意:**数字13号引脚难以作为数字输入使用,因为大部分的控制板上使用了一颗LED与一个电阻连接到他。如果启动了内部的20K上拉电阻,他的电压将在1.7V左右,而不是正常的5V,因为板载LED串联的电阻把他使他降了下来,这意味着他返回的值总是LOW。如果必须使用数字13号引脚的输入模式,需要使用外部上拉下拉电阻。
 +===== 语法 =====
 +
 +digitalWrite(pin, value)
 +===== 参数 =====
 +
 +pin: 引脚编号(如1,5,10,A0,A3)
 +\\ value: HIGH or LOW
 +===== 返回 =====
 +
 +
 +===== 例子 =====
 +<code cpp> 
 +int ledPin = 13;                 // LED连接到数字13号端口
 + 
 +void setup()
 +{
 +  pinMode(ledPin, OUTPUT);      // 设置数字端口为输入模式
 +}
 + 
 +void loop()
 +{
 +  digitalWrite(ledPin, HIGH);   // 使LED亮
 +  delay(1000);                  // 延迟一秒
 +  digitalWrite(ledPin, LOW);    // 使LED灭
 +  delay(1000);                  // 延迟一秒
 +}
 +</code> 
 +13号端口设置为高电平,延迟一秒,然后设置为低电平。
 +===== 注释 =====
 +
 +模拟引脚也可以当做数字引脚使用,使用方法是输入端口A0,A1,A2等。
 +
 +
 +
 +