Digispark 基础篇(引脚的使用以及注意事项)

arduino5年前 (2021)发布 admin
517 0

一、digispark与arduino的区别和一些局限性:

digispark与arduino IDE兼容,但是它不具有arduino基本板子的所有功能,所以如果在使用的时候会有一些出错的情况,这里要注意。

下面是一些故障可能出现的原因:

(1)digispark由atmel attiny 85 mcu驱动,与arduino的atmega328有很多区别,所以某些库可能可能无法在板子上正常运行。

(2)digispark的闪存很小,大约只有6KB的闪存用于存储代码。

(3)板子上的P3和P4两个引脚用于USB通信和编程,如果不使用USB通信的则可以在电路中使用这个两个引脚,如果使用,则一定要在下载的时候拔下这些引脚上的电路。

二、Digispark  引脚的使用:

需要注意的是,在使用引脚作为不同的功能使用时,在程序中写的引脚是不同的,下面是具体的说明:

(1)DigitalWrite (数字写入)功能:

void setup(){

    //P5在高电平时为3 V,而不是5 V,但所有引脚都可以进行数字输出

    pinMode(0,OUTPUT); // 括号里写0是P0,1是P1,2是P2,依此类推直到P5,与下面的模                                            拟输入不同,对于数字输出,引脚号匹配。

}

void loop(){

    digitalWrite(0,HIGH); //将引脚设为高电平(5 V)

    delay(1000);

    digitalWrite(0,LOW); //将引脚设为低电平(GND)

    delay(1000);

}

(2)DigitalRead (数字读取)功能:

int  value=0;

void setup(){

    //digispark所有的引脚都可以作为数字输入。

    pinMode(0,INPUT); // 括号里写0是P0,1是P1,2是P2,依此类推直到P5,与数字                                                   写入使用方法相同。

}

void loop(){

    value = digitalRead(0);

}

(3)AnalogRead (模拟读取)功能:

int sensorValue = 0;

void setup(){

//在使用模拟读取的功能时,PinMode语句里写板子上对应的序号,而analogRead里需要写对应的数字,这个在下面的loop里有说明。

    pinMode(2,INPUT);   //设置P2为输入引脚

    pinMode(3,INPUT);  //设置P3为输入引脚

    pinMode(4,INPUT);  //设置P4为输入引脚

    pinMode(5,INPUT);  //设置P5为输入引脚

}

void  loop(){

    sensorValue = AnalogRead(1); //读取P2

    //此为P2,P2为模拟输入1,因此在使用模拟读取时,将其称为1。

   sensorValue = AnalogRead(3); //读取P3

    //此为P3,P3为模拟输入3,因此在使用模拟读取时,将其称为3。

    sensorValue = AnalogRead(2); //读取P4

    //此为P4,P4为模拟输入2,因此在使用模拟读取时,将其称为2。

    sensorValue = AnalogRead(0); //读取P5

    //此为P5,P5为模拟输入0,因此在使用模拟读取时,将其称为0。

}

(4)AnalogWrite (模拟写入)功能:

void setup(){
    // digispark只有P0,P1和P4具有硬件PWM(analogWrite)的功能。
    pinMode(0,OUTPUT); // 0是P0,1是P1,4是P4,这里与模拟输入不同,
                                               //对于模拟量(PWM)输出,引脚号与端口号匹配。
}

void loop(){
    AnalogWrite(0,255); //PWM输出为(100%)
    delay(1000);

    AnalogWrite(0,128); //PWM输出为(50%)
    delay(1000);

    AnalogWrite(0,0); //PWM输出为(0%)
    delay(1000);

}

https://www.crunchlearn.com/courses/udemy-hacking-windows-10-and-windows-7-using-digispark/

© 版权声明

相关文章