查看: 391|回复: 0
打印 上一主题 下一主题

【Arduino 学习笔记】一、基础入门

[复制链接] qrcode

32

主题

40

帖子

118

积分

注册会员

Rank: 2

积分
118
楼主
跳转到指定楼层
发表于 2016-3-27 12:19 AM | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表