第8章 流水灯效果案例解读

第8章 流水灯效果案例解读

学习C语言,先从读程序开始!这一点是过来人的经验之谈。本文建议大家选择一款图形编程软件,本文选择了Mixly。

一、首先,介绍一下基本概念的问题。

  1. 数据类型

v  void用于函数声明,表示该函数不会被返回任何数据,到被调用的函数。

v  Boolean(布尔)布尔变量拥有两个值,true或false。

v  char字符举例:'A',“ABC”。 char myChar = 'A';  char myChar = 65; 

v  unsigned char无符号字符型,unsigned char myChar = 240;

v  byte字节型: byte b = B10010;  // "B" 是二进制格式

v  int整型:int ledPin = 13;语法int var = val;var - 变量名;val - 赋给变量的值。

v  unsigned int无符号整型:unsigned int var = val;var - 无符号变量名称;val - 给变量所赋予的值。

v  word字:一个存储一个16位无符号数的字符,取值范围从0到65535,与unsigned int相同。 word w = 10000;

v  long长整型:长整数型变量是扩展的数字存储变量,它可以存储32位(4字节)大小的变量,从-2,147,483,648到2,147,483,647。例子:long speedOfLight = 186000L;

v  string(字符串)char Str1[15];

v  Arrays (数组)数组是一种可访问的变量的集合。

  1. 变量问题

v  static (静态变量):static关键字用于创建只对某一函数可见的变量。静态变量在函数调用后仍然保持着原来的数据。静态变量只会在函数第一次调用的时候被创建和初始化。

v  volatile (易变变量)volatile关键字是变量修饰符,常用在变量类型的前面,以告诉编译器和接下来的程序怎么对待这个变量。

v  const (不可改变变量)const关键字代表常量。它是一个变量限定符,用于修改变量的性质,使其变为只读状态。

二、Mixly程序:

 

三、代码程序编写:

volatile int dT;//定义一个变量,如果一个变量所在的代码段可能会意外地导致变量值改变那此变量应声明为volatile,比如并行多线程等。

void setup(){

  dT = 1000;

  pinMode(3, OUTPUT);

  pinMode(4, OUTPUT);

  pinMode(5, OUTPUT);

}

void loop(){

  digitalWrite(3,HIGH);

  delay(dT);

  digitalWrite(3,LOW);

  delay(dT);

  digitalWrite(4,HIGH);

  delay(dT);

  digitalWrite(4,LOW);

  delay(dT);

  digitalWrite(5,HIGH);

  delay(dT);

  digitalWrite(5,LOW);

  delay(dT);

}

效果说明:流水灯效果。

四、补充说明Mixly的设计过程:

1.声明并初始化一个变量。

 

2.添加数字。

 

3.设计变量名,数据类型为整数,赋值1000。

 

4.设计数字输出管脚为3,输出高电平。

 

5.延迟设计,引入变量dT。

 

6.设计数字输出管脚3,低电平,延迟设计,引入变量dT。

 

7.同理完成流水灯设计。

 

8.上传成功,观察效果。

 

五、给出完整的代码程序,希望读者对比参考,C语言的格式要求,很严格。

Const int yellowPin=3;//定义产量,对应黄色LED引脚

Const int yellowPin=4;

Const int yellowPin=5;

int dT = 1000;//定义变量,延迟时间

void setup(){

  pinMode(3, OUTPUT);//设置引脚输出模式

  pinMode(4, OUTPUT);

  pinMode(5, OUTPUT);

}

void loop(){

  digitalWrite(3,HIGH);//引脚3,高电平

  delay(dT);//延迟效果

  digitalWrite(3,LOW);//引脚3,低电平

  delay(dT);

  digitalWrite(4,HIGH);

  delay(dT);

  digitalWrite(4,LOW);

  delay(dT);

  digitalWrite(5,HIGH);

  delay(dT);

  digitalWrite(5,LOW);

  delay(dT);

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2020-03-23 20:13  创智养成教育  阅读(347)  评论(0编辑  收藏  举报