之前的内容都在介绍I/O口的输出功能,这次来介绍一下I/O口的信号输入
获取引脚是高电平还是低电平的信息需要使用digitalRead函数。函数定义如下:int digitalRead(uint8_t pin)函数的参数是所获取信息的引脚号,返回值为引脚的状态。这里用一个实例说明一下函数的用法,实例的功能是在Arduino上外接一个按键,用以控制引脚13上的led的亮灭(Arduino板上13号引脚带一个led)按键占用引脚2,连接效果如图所示(为保持按键没有按下时引脚上保持高电平,所以在引脚上加了一个上拉电阻)程序如下(直接粘贴到Arduino开发环境下就可直接应用):void setup(){ //设置13号引脚为输出 pinMode(13, OUTPUT); //设置2号引脚为输入 pinMode(2, INPUT);}void loop(){ //判断按键是否按下 if(LOW = = digitalRead(2)){ //延时去抖delay(50);if(LOW = = digitalRead(2)){ //点亮LEDdigitalWrite(13,HIGH);while(1){ //判断是否松开按键if(HIGH = = digitalRead(2)){ //延时去抖delay(50);if(HIGH = = digitalRead(2))break;}}//熄灭LEDdigitalWrite(13,LOW);} }}------------------------------------------------------------------------------程序中紫色的部分均调用digitalRead函数,在使用digitalRead函数前要将引脚置为输入——pinMode(2, INPUT);另外在处理按键相应的程序时,为防止按键抖动造成误操作,一般都作一个延时去抖处理[ 本帖最后由 晨光熹微 于 2011-6-30 00:19 编辑 ]附件