0、前言
首先介绍 setup(){ } loop(){}两个函数
setup() 可以理解为程序初始化,只在单片机上电的时候执行一次,初始化变量、IO口等
loop() 则是一个无线的循环程序,单片机上电的期间, 无线的循环执行。
1、串口通信
long time;
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.print("Time: ");
time = millis();
Serial.println(time);
delay(1000);
}
打开,arduino IDE ,再 Tools -> serial monitor 中,即可以常看到串口输出的数据。
2、Time
mills() micros() delay(unsigned long) DelayMicrosends(unsigned int)
mills()
调用mills()返回一个 long 数据,表示单片机从上电开始到现在经过了多少 ms,最大可以计数 50 天,之后归零。
micros()
micros () 和 mills() 功能一样只是单位不同,,micros 也是返回一个 long 的数据,但是 单位事 ms,最大计数 70分钟,之后归零。
delay(unsigned long)
ms级延时函数,delay(1000) 表示延时 1s,
DelayMicroseconds(unsigned int)
us 级延时函数,DelayMicroseconds(1000) 表示延时 1ms
一般都是通过 delay()进行blink led ,官方给了个例子,通过 millls 实现,通过设置标志位来实现,代码如下:
const int ledPin = 13;
int ledState = LOW;
unsigned long previousMillis = 0;
const long interval = 1000; (milliseconds)
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
if (ledState == LOW) {
ledState = HIGH;
} else {
ledState = LOW;
}
digitalWrite(ledPin, ledState);
}
}
3、常量
HIGH | LOWINPUT | OUTPUT | INPUT_PULLUPLED_BUILTINtrue | falseinteger constantsfloating point constants
|