記事のディレクトリ
1.はじめに
Arduinoのあるものの最初の理解は、我々はArduinoの言語の基礎を説明し始めた後、我々は(基本的には、第1の技術的な開発言語を学ぶ)Arduinoのプラットフォームを提供するもの最後に知っているし、私たちが開発にどのような言語行うようにする必要があります。
2.Arduino言語とプログラム構造
ArduinoのC / C ++プログラミング言語(大学はこのことを学んだプログラマの大半)を使用して。C言語は、プロセス指向のプログラミング言語である(この家主が忘れたが)、C ++は、オブジェクト指向プログラミング言語です。初期のArduinoのコアCで書かれたライブラリ、オブジェクト指向の考え方の後に導入、CおよびC ++混合プログラミングを使用して、最新のコアライブラリ。
一般的にArduinoの言語と呼ばれ、それは、ライブラリが提供するArduinoのコアAPIの集合を指します。これらの下位レベルのAPIは、第二のパッケージ内に形成された(MCUが演じてきた見積もりは、多くの場合、各種レジスタに対処されている)サポートライブラリマイクロコントローラです。API Arduinoのオファーが初心者はMCU複雑なコンフィギュレーション・レジスタを無視することができ、その後、あなたは直感的に開発効率を向上させ、Arduinoのを制御することができます。
次のようにプログラムのArduinoの基本的な構造は次のとおりです。
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整数
次のようにArduinoの整数型と範囲を使用することができます。
Arduinoのために、int型とunsigned int型タイプは4バイト(32ビットプロセッサアーム)を占めています。
3.1.2.2フロート
実際のフロートは、二重、その精度として、4バイト(32ビット)のメモリ空間を占有し、Arduinoのために、double型は8バイト(64ビット)のメモリ空間を占有します。
3.1.2.3文字
char型は、1バイト、などの文字必要単一引用符、占有:CHARデータ=「C」を、
3.1.2.4ブール
boolean型は、2つだけ:偽と真、メモリ空間の1つのバイトを占めています。
3.1.2.5アレイ
[5]、チャーB INT [6]、アレイ、0から番号配列の添字をこぼさないように注意してください。
3.1.2.6文字列
char型の文字列名[文字の数]文字列または文字列名、I個人的に文字列のように。
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サイクル構造
構造を繰り返し、コードの一部を繰り返し、一方、()サイクルとなるまで(最大)サイクルを実行します。
構造を循環させながらする第一所定の条件が満たされない場合、その後、等所定の条件が成立した場合、Aに進み、構造を終了し、そして、所定の条件か否かを決定する;
まで型ループ構造は第1のAを実行し、与えられた条件であるか否かを決定します設立は、確立した場合、直ちに、ループを終了Aの確立に進んでいない、など。
フォームを循環しながら:
while(表达式){
语句;
}
循環型まで:
do{
语句;
}while(表达式);
フォームを循環させます。
for(表达式1;表达式2;表达式3){
语句;
}
ループ構造は、循環に入るかどうかを決定するために使用される式を持っていますが、時々、先行サイクルまたはサイクルの終わりのスキップブレークを使用して達成するために継続する必要があります。
- 現在のコンフィギュレーション選択される環状構造を破壊するか、終了
- 文の残りの部分をスキップし、このサイクルを続けます
4.まとめ
おそらく、文法のArduinoのファンダメンタルズはここで停止します(C言語ベースのスキャンは、それについての人々に直接存在し、すべての後に、言語が同じである)、そして、私は戦闘を説明する準備ができていますので、しばらくお待ちください。