用户工具

站点工具


reference:language:digitalwrite

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

返回

例子

int ledPin = 13;                 // LED连接到数字13号端口
 
void setup()
{
  pinMode(ledPin, OUTPUT);      // 设置数字端口为输入模式
}
 
void loop()
{
  digitalWrite(ledPin, HIGH);   // 使LED亮
  delay(1000);                  // 延迟一秒
  digitalWrite(ledPin, LOW);    // 使LED灭
  delay(1000);                  // 延迟一秒
}

13号端口设置为高电平,延迟一秒,然后设置为低电平。

注释

模拟引脚也可以当做数字引脚使用,使用方法是输入端口A0,A1,A2等。

reference/language/digitalwrite.txt · 最后更改: 2017/04/07 10:03 (外部编辑)