#define GreenLedPin A0
uint32_t flashLedGetTimeTick;
int flashLed(uint16_t toggleTime);
void toggleLed1(int pins);
void toggleLed2(int pins);
void toggleLed3(int pins);
//example4 to toggle led
#define toggleLed4(pins) digitalWrite(pins, !digitalRead(pins))
void setup() {
// put your setup code here, to run once:
flashLedGetTimeTick = millis();
pinMode(GreenLedPin, OUTPUT);
Serial.begin(115200);
}
void loop() {
// put your main code here, to run repeatedly:
flashLed(500);
}
int flashLed(uint16_t toggleTime){
if(millis() - flashLedGetTimeTick > toggleTime){
flashLedGetTimeTick = millis();
toggleLed4(GreenLedPin);
Serial.println("toggle once pin!");
return 1;
}else{
return 0;
}
}
//example1 to toggle led
void toggleLed1(int pins){
if(digitalRead(pins) == HIGH){
digitalWrite(pins, LOW);
}else{
digitalWrite(pins, HIGH);
}
}
//example2 to toggle led
void toggleLed2(int pins){
bool pinState = !digitalRead(pins);
// uint8_t pinState1 = ~digitalRead(pins);
// Serial.print("pin's state = ");
// Serial.println(pinState1);
//注意比较,取反~和非!运算符的规则。自己好好用实践体会下
digitalWrite(pins,pinState);
}
//example3 to toggle led
void toggleLed3(int pins){
digitalWrite(pins, !digitalRead(pins));
}