当前位置:首页 > 科学研究 > 电子编程 > 正文内容

Arduino Programming Basic - Data Type

RonWang8个月前 (04-23)电子编程128

Arduino 程序基础,介绍Arduino程序的基本组成,第一部分编写了10个例子,关于变量及变量名称,串口监视器,if循环,for循环,while循环等。第二部分介绍了函数,全局变量,局部变量和静态变量,数据类型,Bollean运算,注释语句等。

Data Type C and arduino program

数据类型

boolean 占用内存(字节)1,范围: 0或1

char       占用内存(字节)1,范围: -128~+128

byte       占用内存(字节)1,范围: 0~255

int          占用内存(字节)2,范围: -32768~+32767

unsigned int   占用内存(字节)2,范围: 0~+65536

long       占用内存(字节)4,范围: -2147483648~+2147483647

unsigned long  占用内存(字节)4,范围: 0~+4294967295

float       占用内存(字节)4,范围:-3.4028235E+38~+-3.4028235E+38

double   占用内存(字节)4,和float 一样

int 整型数据 

int ledpin=10;

float 浮点数据 

f=c*9/5 +32

float centToFaren(float c)
{
float f= c*9.0/5.0+32.0 ;
return f;
}

char 字符型数据

char ch='A';
printf("The number of %c is  %d . \n" ,ch ,ch);

String 字符串

char site[7] = {'A', 'U', 'T', 'A', 'B', 'A', '\0'};  // use ' define 

 
char site[] = "AUTABA";   // use " define

Array 数组 

char name[ ]= { "Tom", "Jimmy","Linda","Ron" };
int  score[ ]= {99,100,95,89};


定义整型数组( Save Our Souls - "SOS" Code  3-1):

int durations[] = {200,200,200,500,500,500,200,200,200};

int ledPin = 13 ;
int durations[] = {200,200,200,500,500,500,200,200,200};
void setup()
{
 Serial.begin(9600);
 for ( int i=0; i<9; i++)
 { 
      Serial.println(durations[i]);
}
}
void loop( ) 
{
}

Arduino Array

调用字符数组的内容  3-1a

int ledPin = 13 ;
int durations[] = {200,200,200,500,500,500,200,200,200};
void setup()
{
  pinMode(ledPin,OUTPUT);
}

void loop( ) 
{
for ( int i=0; i<9; i++)
  { 
      flash(durations[i]);
   }
delay(1000);
}

void flash(int delayPeriod)
{
  digitalWrite(ledPin,HIGH);
  delay(delayPeriod);
  digitalWrite(ledPin,LOW);
  delay(delayPeriod);
}

字符串 3-2

const int dotDelay = 200;
const int ledPin = 13;
char* letters[] = {
".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..",
// A-I
".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.",
// J-R
"...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.."
// S-Z
};
char* numbers[] = {"-----", ".----", "..---", "...--", "....-",
".....", "-....", "--...", "---..", "----."};
void setup()
{
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop()
{
   char ch;
   if (Serial.available() > 0)
   {
    ch = Serial.read();
    if (ch >= 'a' && ch <= 'z')
     {
      flashSequence(letters[ch - 'a']);
     }
    else if (ch >= 'A' && ch <= 'Z')
     {
      flashSequence(letters[ch - 'A']);
     }
    else if (ch >= '0' && ch <= '9')
     {
      flashSequence(numbers[ch - '0']);
     }
    else if (ch == ' ')
     {
      delay(dotDelay * 4); // gap between words
     }
    }
}
void flashSequence(char* sequence)
{
   int i = 0;
   while (sequence[i] != '\0')
   {
    flashDotOrDash(sequence[i]);
    i++;
    }
   delay(dotDelay * 3); // gap between letters
}
void flashDotOrDash(char dotOrDash)
{
   digitalWrite(ledPin, HIGH);
   if (dotOrDash == '.')
   {
    delay(dotDelay);
    }
   else // must be a -
    {
     delay(dotDelay * 3);
     }
digitalWrite(ledPin, LOW);
delay(dotDelay); // gap between flashes
}

Enumeration and pointer data 枚举和指针数据

枚举是 C 语言中的一种基本数据类型,用于定义一组具有离散值的常量,它可以让数据更简洁,更易读。枚举类型通常用于为程序中的一组相关的常量取名字,以便于程序的可读性和维护性。

定义一个枚举类型,需要使用 enum 关键字,后面跟着枚举类型的名称,以及用大括号 {} 括起来的一组枚举常量。每个枚举常量可以用一个标识符来表示,也可以为它们指定一个整数值,如果没有指定,那么默认从 0 开始递增。


如果不使用枚举定义一组星期的别名如下


#define MON  1
#define TUE  2
#define WED  3
#define THU  4
#define FRI  5
#define SAT  6
#define SUN  7

使用枚举定义

enum DAY
{
      MON=1, TUE, WED, THU, FRI, SAT, SUN
};

指针数据

 C 语言的指针既简单又有趣。通过指针,可以简化一些 C 编程任务的执行,还有一些任务,如动态内存分配,没有指针是无法执行的。所以,想要成为一名优秀的 C 程序员,学习指针是很有必要的。

正如您所知道的,每一个变量都有一个内存位置,每一个内存位置都定义了可使用 & 运算符访问的地址,它表示了在内存中的一个地址。


#include <stdio.h>
 
int main ()
{
    int var_runoob = 10;
    int *p;              // 定义指针变量
    p = &var_runoob;
 
   printf("var_runoob 变量的地址: %p\n", p);
   return 0;
}


版权声明:本文为原创文章,版权归donstudio所有,欢迎分享本文,转载请保留出处!

本文链接:http://parentscn.com/?id=248

标签: Arduino

相关文章

Arduino Project 045 - RFID Servo and LED Control System

Arduino Project 045 - RFID Servo and LED Control System

Arduino Programming Basic -- RFID Servo and LED Control System Project 45 RFID Servo...

Arduino Project 015 - Simple Motor Control

Arduino Project 015 - Simple Motor Control

First, you’re going to simply control the speed of a DC motor in one direction, using a power transi...

Arduino Project 006 - LED Interactive Chase Effect

Arduino Project 006 - LED Interactive Chase Effect

Leave your circuit board intact from Project 5. You’re just going to add a potentiometer to this cir...

 ​Arduino Project 049 - IR Remote Control

​Arduino Project 049 - IR Remote Control

Project 49 IR Remote Control/* Project 49 IR Remote Control  * C...

Arduino Project 002 - LED SOS Morse Code Singal

Arduino Project 002 - LED SOS Morse Code Singal

Arduino 电子编程--灯项目及控制,主要使用Arduino编程控制LED灯,实现基本控制Project 2 LED闪烁S.O.S信号。项目2 Project 2 S.O.S...

Arduino Project 020 -  LED Dot Matrix Display - Beat Heart

Arduino Project 020 - LED Dot Matrix Display - Beat Heart

You’re going to use the same circuit, but with a slight variation in the code to create a multi-fram...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。