arduino学習ノート(一)-bamboosir 920
11596 ワード
arduino学習ノート(一)
もとは実は同じくしばらくの时间のarduinoをしたことがあって、しかしずっと系統的な学习がなくて、ここはもっぱら最初から系統的にarduinoを学んで、后で役に立つことを望みます.
文書ディレクトリ arduino学習ノート(一) 基礎知識 プログラム構造 void setup(){} void Loop(){} データ型 変数 ローカル変数 グローバル変数 形式パラメータ 演算子 ブール演算子 ビット演算子 制御文 if..else switch case サイクル while do...while for 文字列 文字列配列 文字列アクション 文字列直列 文字列長 配列長 複製文字列 文字列オブジェクト 大文字と小文字を変換 カバー 置換 文字列長` 基礎知識
プログラムこうぞう
実行順序:setup()->loop()
他の関数はこの2つの必要な関数で呼び出されます.
void setup(){}
コードは、起動時にsetuo()関数が1回だけ呼び出されます.変数の初期化、ピンモードの初期化、ライブラリの有効化などの操作に使用します.setup関数はarduinoボードの電源投入またはリセットのたびに1回しか実行できません.
void Loop(){}
初期化および初期値の設定に使用するsetup()関数を作成すると、loop()関数はプログラムの連続的な変更と応答を許可し、arduinoボードをアクティブに制御することができ、loop関数の実行が完了すると、自動的にリセットしてloop()関数を繰り返し実行します.
データ型
データ型
バイトサイズ
用途
void
0
関数宣言にのみ使用されます.この関数は情報を返さないことを示します.
boolean
1
trueまたはfalseのみを保存して、正しいかどうかを決定します.
char
1
文字値を格納します.文字格納形式はASCIIです.
unsigned char
1
符号なしで文字を格納します.範囲は0-255です.
float
4
浮動小数点数
int
2(ボードによって異なる)
整数、プライマリ・ストレージ・タイプ.範囲:(-2^15-1~2^15)-1
Unsigned int
2(ボードによって異なる)
符号なし整数、0-2^32-1
double
4
二重精度浮動小数点数は、一般的な板ではfloatと同じで、arduno dueでは8バイトの精度があります.
byte
1
8ビットの符号なし数を格納します.0-255
Word
2/4
15ビット符号なし
Long
4
intの拡張タイプ、-2^32-1~2^32-1
unsigned long
4
符号なし、2^64-1
変数#ヘンスウ#
変数定義とC言語の特性
ローカル変数
このコードブロックまたは関数にのみ適用され、その外で実行できません.
グローバル変数
すべての関数の外に定義され、通常は関数の上部にあり、プログラムのライフサイクルと同じ長さで、任意の関数にアクセスできます.
形式パラメータ
関数パラメータの定義では、実際の意味はありません.
演算子
ブール演算子
仮定変数Aは10、変数Bは20
演算子名
演算子の略記
例
and(と)
&&
(A&&B)は真
or(または)
||
(A‖B)は真である
not(非)
!
!(A&&B)偽
ビット演算子
仮定変数Aは60、変数Bは13
演算子名
演算子の略記
説明
例
and(と)
&
2つのオペランドに同時に存在する場合、バイナリAND演算子は結果に1つのビットをコピーします.
(A&B)は12,000,1100となる
or(または)
|
いずれかのオペランドに存在する場合、バイナリOR演算子は結果に1つのビットをコピーします.(A
B)61、すなわち0011 1101が得られる
xor(異或)
^
いずれかのオペランドに存在するが、両方のオペランドに同時に存在しない場合、バイナリXOR演算子は結果に1つのビットをコピーします.
(A^B)は49、すなわち0011 0001となる
not(非)
~
バイナリNOT演算子は、「反転」ビット効果を持つ一元演算子です.
(〜A)−60,すなわち1100,001が得られる
shift left(左に移動)
<<
バイナリ左シフト演算子.左オペランドの値を右オペランドで指定した桁数だけ左に移動します.
A<<2は240、すなわち1111 0000を得る
shift right(右に移動)
>>
バイナリ右シフト演算子.左オペランドの値を右オペランドで指定した桁数だけ移動します.
A>>2は15,000,1111を得る
せいぎょぶん
if…else
けっていぶん
switch case
ループ
while
do…while
for
文字列
文字列配列
char配列で文字列を格納できます
Cと同様に、文字列は特殊な配列であり、文字列の末尾には追加の要素があり、値は永遠に0であり、空の終端文字列である.
文字列アクション
文字列の直列
strcat()関数:ある文字列を別の文字列の末尾に追加
文字列の長さ
strlen():文字列の長さを取得します.空の終端子は含まれません.
配列の長さ
sizeof:長さに空の終端を含む
文字列のコピー
strcpy:文字列strを別の文字列配列にコピーする
文字列オブジェクト
String
大文字と小文字の変換
オブジェクトに含まれる文字列データ(またはテキスト)を大文字に変換
オーバーライド(Override)
Stringオブジェクトのみ
置換
replace()関数は、渡された2番目の文字列を最初の文字列に置き換えるために使用されます.
文字列長`
length()は文字列の長さを取得し、直接取得することができ、中間量が必要です.
もとは実は同じくしばらくの时间のarduinoをしたことがあって、しかしずっと系統的な学习がなくて、ここはもっぱら最初から系統的にarduinoを学んで、后で役に立つことを望みます.
文書ディレクトリ
プログラムこうぞう
実行順序:setup()->loop()
他の関数はこの2つの必要な関数で呼び出されます.
void setup(){}
コードは、起動時にsetuo()関数が1回だけ呼び出されます.変数の初期化、ピンモードの初期化、ライブラリの有効化などの操作に使用します.setup関数はarduinoボードの電源投入またはリセットのたびに1回しか実行できません.
Void setup( ) {
}
void Loop(){}
初期化および初期値の設定に使用するsetup()関数を作成すると、loop()関数はプログラムの連続的な変更と応答を許可し、arduinoボードをアクティブに制御することができ、loop関数の実行が完了すると、自動的にリセットしてloop()関数を繰り返し実行します.
Void loop( ) {
}
データ型
データ型
バイトサイズ
用途
void
0
関数宣言にのみ使用されます.この関数は情報を返さないことを示します.
boolean
1
trueまたはfalseのみを保存して、正しいかどうかを決定します.
char
1
文字値を格納します.文字格納形式はASCIIです.
unsigned char
1
符号なしで文字を格納します.範囲は0-255です.
float
4
浮動小数点数
int
2(ボードによって異なる)
整数、プライマリ・ストレージ・タイプ.範囲:(-2^15-1~2^15)-1
Unsigned int
2(ボードによって異なる)
符号なし整数、0-2^32-1
double
4
二重精度浮動小数点数は、一般的な板ではfloatと同じで、arduno dueでは8バイトの精度があります.
byte
1
8ビットの符号なし数を格納します.0-255
Word
2/4
15ビット符号なし
Long
4
intの拡張タイプ、-2^32-1~2^32-1
unsigned long
4
符号なし、2^64-1
変数#ヘンスウ#
変数定義とC言語の特性
ローカル変数
このコードブロックまたは関数にのみ適用され、その外で実行できません.
Void setup () {
}
Void loop () {
int x , y ;
int z ;
}
グローバル変数
すべての関数の外に定義され、通常は関数の上部にあり、プログラムのライフサイクルと同じ長さで、任意の関数にアクセスできます.
int T
float A=0
Void setup () {
}
Void loop () {
}
形式パラメータ
関数パラメータの定義では、実際の意味はありません.
int a(int c){
}
演算子
ブール演算子
仮定変数Aは10、変数Bは20
演算子名
演算子の略記
例
and(と)
&&
(A&&B)は真
or(または)
||
(A‖B)は真である
not(非)
!
!(A&&B)偽
ビット演算子
仮定変数Aは60、変数Bは13
演算子名
演算子の略記
説明
例
and(と)
&
2つのオペランドに同時に存在する場合、バイナリAND演算子は結果に1つのビットをコピーします.
(A&B)は12,000,1100となる
or(または)
|
いずれかのオペランドに存在する場合、バイナリOR演算子は結果に1つのビットをコピーします.(A
B)61、すなわち0011 1101が得られる
xor(異或)
^
いずれかのオペランドに存在するが、両方のオペランドに同時に存在しない場合、バイナリXOR演算子は結果に1つのビットをコピーします.
(A^B)は49、すなわち0011 0001となる
not(非)
~
バイナリNOT演算子は、「反転」ビット効果を持つ一元演算子です.
(〜A)−60,すなわち1100,001が得られる
shift left(左に移動)
<<
バイナリ左シフト演算子.左オペランドの値を右オペランドで指定した桁数だけ左に移動します.
A<<2は240、すなわち1111 0000を得る
shift right(右に移動)
>>
バイナリ右シフト演算子.左オペランドの値を右オペランドで指定した桁数だけ移動します.
A>>2は15,000,1111を得る
せいぎょぶん
if…else
けっていぶん
if()
{
}
else if()
{
}
else
{
}
switch case
\\ A
switch (A)
{
case 0:{};break;
case 1:{};break;
case 2:{};break;
default:{}
}
ループ
while
while(i<n) {
....
}
do…while
do {
...
}
while (i<n);
for
for(int i=0;i <= 9;i++) {
...
}
文字列
文字列配列
char配列で文字列を格納できます
Cと同様に、文字列は特殊な配列であり、文字列の末尾には追加の要素があり、値は永遠に0であり、空の終端文字列である.
char str[6]="hello";
char my_str[] = "Hello";
文字列アクション
文字列の直列
strcat()関数:ある文字列を別の文字列の末尾に追加
strcat(str,",john")
文字列の長さ
strlen():文字列の長さを取得します.空の終端子は含まれません.
strlen(str);
配列の長さ
sizeof:長さに空の終端を含む
sizeof(str);
文字列のコピー
strcpy:文字列strを別の文字列配列にコピーする
strcpy(out_str, str);
文字列オブジェクト
String
String my_str = "This is my string." ;
大文字と小文字の変換
オブジェクトに含まれる文字列データ(またはテキスト)を大文字に変換
my_str.toUpperCase();
オーバーライド(Override)
Stringオブジェクトのみ
my_str = "My new string." ;
置換
replace()関数は、渡された2番目の文字列を最初の文字列に置き換えるために使用されます.
my_str.replace("string", "Arduino sketch");
文字列長`
length()は文字列の長さを取得し、直接取得することができ、中間量が必要です.
Serial.println(my_str.length());