② 아두 이노 아두 이노 언어 기반 학습 노트

크리에이티브 커먼즈 라이센스 저작권 : 저작자는 다른 사람들이 종이를 기반으로 만들 수 있도록하고 (동일한 라이센스 원래 라이센스 계약에 따라 용지를 배포해야합니다 크리에이티브 커먼즈를 )

1. 소개

    아두 이노 무엇의 초기 이해, 우리는 아두 이노 언어의 기초를 설명하기 시작했다 후, 우리는 (기본적으로 첫 번째 기술 개발 언어를 배울 수) 아두 이노는 플랫폼을 제공하는 것 결국 알고 우리가 개발하는 어떤 언어로 할 수 있도록해야합니다.

2.Arduino 언어와 프로그램 구조

    아두 이노 C / C ++ 프로그래밍 언어 (대학이 배운 프로그래머의 대다수를) 사용. (집주인이 잊혀진했지만) C 언어 처리 지향 프로그래밍 언어, C ++ 객체 지향 프로그래밍 언어이다. 초기 아두 이노 코어 C로 작성된 라이브러리, 객체 지향 사고 이후 도입, C 및 C ++ 혼합 프로그래밍을 사용하여 최신 코어 라이브러리.
    일반적으로 아두 이노 언어, 그것은 아두 이노 핵심 API 라이브러리가 제공하는 모음을 의미라고도합니다. 이러한 낮은 수준의 API는 두 번째 패키지에 형성 (MCU가 연주 한 추정은 종종 다양한 레지스터를 처리하는) 지원 라이브러리 마이크로 컨트롤러이다. API 아두 이노의 서비스는 초보자가 MCU 복잡한 구성 레지스터를 무시 할 수 있습니다, 그리고 당신은 직관적으로 개발 효율성을 향상, 아두 이노를 제어 할 수 있습니다.
    다음과 같이 프로그램의 아두 이노 기본 구조는 다음과 같습니다

void setup() {
  // put your setup code here, to run once(这里代码只运行一次):
 
}
 
void loop() {
  // put your main code here, to run repeatedly(这里代码不断运行):
 
}

    이 모델은 (추정 배운 C 언어 메인 알고있다) 이해 될 수있다 :

int main() {
    setup()while(1) {
        loop()}
}

3. 언어 기본 사항

    사람들이 C 언어를 배웠를 들어, 당신은 그것에 대해 직접 스캔 할 수 있습니다.

3.1 데이터 유형

3.1.1 상수

    이 프로그램은, 그것은, 문 디지털 될 수 있습니다 상수는 문자를 수 있으며, 값이 변경 될 수 없습니다, 실행 :

#define 常量名  常量值

    예 : 대부분의 사람들은 디버깅 기능을 (여기에 내가 개인적으로 직렬 포트를 사용)를 사용하는,하지만 당신이 정말로 마지막 코드 디버깅 기능을 종료 할 때, 당신은이를 사용할 수 있습니다 :

#define MyDebugSerial Serial
 
//该条语句用于使能DEBUG输出信息,屏蔽掉就不会输出debug调试信息
#define DEBUG
 
#ifdef DEBUG
#define DBGLN(message)    MyDebugSerial.println(message)
#else
#define DBGLN(message)
#endif
 
void setup() {
  MyDebugSerial.begin(9600);
  DBGLN("setup end");
}
 
void loop() {
  
}

3.1.2 변수

    변수 값은 프로그램 변수라고합니다.

3.1.2.1 정수

    다음과 같이 아두 이노 정수 유형과 범위는 사용할 수 있습니다 :

영상

    아두 이노 인해에서, INT 및 부호 INT 형 타입은 4 바이트 (32 비트 프로세서 암)을 차지한다.

3.1.2.2 플로트

    실제 이중 플로트 그들의 정밀대로의 Arduino 인해에서는 두 종류의 8 바이트 (64 비트)의 메모리 공간을 차지한다, 4 바이트 (32 비트)의 메모리 공간을 차지한다.

3.1.2.3 문자

    CHAR 타입은 1 바이트, 문자 등의 따옴표 필요한 점유 : 문자 데이터 = 'C'를;

3.1.2.4 부울

    부울 유형은 두 : 거짓과 진실, 메모리 공간의 1 바이트를 차지합니다.

3.1.2.5 배열

    [6] 조심 어레이, 0 번째 배열 첨자 쏟아지지 B A [5], 숯에서 INT.

3.1.2.6 문자열

    문자 문자열 이름 [문자 수] 문자열 또는 문자열 이름, 나는 개인적으로 문자열있다.

3.1.3 일반적인 연산자

영상

영상

3.1.4 세 가지 조직 구조

3.1.4.1 순차 구조

    프로그램 문은 순서대로 수행됩니다.

영상

3.1.4.2 선택 구조

    상기 판정에있어서, 다음 동작을 결정한다.

영상

형태 1 (하나의 분기)

if(表达式){
    语句;
}

양식 2 (더블 사지) :

if(表达式1){
    语句1;
}else{
    语句2;
}

형태 3 (다 분기)

if(表达式1){
    语句1;
}else if(表达式2){
    语句2;
}else if(表达式3){
    语句3;
}

양식 4 (슈퍼 멀티 지점, 일반적으로 더 이상 4 개) :

switch(){
   case 常量表达式1:
          语句1;
          break;
   case 常量表达式2:
          语句2;
          break;
   case 常量表达式3:
          语句3;
          break;
     ......
     default:
          语句n;
          break;
}

참고 :
스위치 후 식의 결과는 정수 나 문자 일 수있다, 당신은 다른 유형을 사용하는 경우, 당신은 if 문을 사용해야합니다. 도 일치하는 경우, 기본 문이 실행됩니다; 경기가 문을 해당 상수 식을 실행할 경우 식 스위치의 비교, 상수 표현 케이스 후 문 구조를 전환됩니다 디폴트 부분이없는 경우, 직접 스위치 구조체 중 프로그램. 일반적으로 어떤 break 문 경우, 프로그램이 스위치 구조를 종료하려면 그냥 완료 실행하거나 종료 위치를 깰 실행 된 스위치 구조를 종료 break 문을 사용합니다.

영상

3.1.4.3 사이클 구조

    구조를 반복 코드의 일부를 반복적으로하면서 (시) 사이클을 실행 때까지 (최대) 사이클.

영상

    반면 제 소정 조건을 만족하지 않을 때 소정의 조건을, 그 구조, 특정 조건이 만족되는 경우, 진행, 등등 종료 여부를 판단한다 구조 순환;
    까지 형 루프 구조가 먼저 수행되고, 그 다음 소정의 조건이 있는지 여부를 확인을 즉시 설립 루프를 종료하면 설립, 등등의 설립을 진행하지 않는다

    양식을 순환하는 동안 :

while(表达式){
   语句;
}

    양식을 순환 할 때까지 :

do{
  语句;
}while(表达式);

    양식을 순환 :

for(表达式1;表达式2;表达式3){
   语句;
}

영상

    루프 구조는 순환을 입력,하지만 때로는, 앞서 사이클 또는주기의 끝 건너 휴식을 사용하고 달성하기 위해 계속해야할지 여부를 결정하는 데 사용되는 표현이있다;

  • 깨지거나 현재 구성 선택된 환 구조를 종료
  • 문장의 나머지 부분을 건너 뛰고이주기를 계속

4. 요약

    아마 문법의 아두 이노 기본 여기 중지, 나는 전투를 설명 할 준비가되어있다, 그래서 계속 지켜봐 주시기 바랍니다 (그것에 대해 사람들에게 직접 C 언어 기반의 검사가, 결국, 언어는 동일합니다).

추천

출처blog.csdn.net/dpjcn1990/article/details/92831334