回答編集履歴

1

追記

2021/01/30 10:00

投稿

thkana
thkana

スコア7669

test CHANGED
@@ -3,3 +3,37 @@
3
3
 
4
4
 
5
5
  あまりにめちゃくちゃ...
6
+
7
+
8
+
9
+ ---
10
+
11
+
12
+
13
+ カンマ演算子は、`,`で区切られた式を左から順に評価(実行)し、最後(右端)の結果を返します。
14
+
15
+ なので、
16
+
17
+ `if(V1a==0 && V2a>=1,i1++){`
18
+
19
+ では、`V1a==0 && V2a>=1`を比較して結果を捨て、`i1++`でi1の値が0か0以外かでifの分岐を行います。
20
+
21
+
22
+
23
+ ` x1[i1] = micros();`
24
+
25
+ Arduino dueではunsigned intは32bit幅ですから、unsigned longの値をそのまま代入しています。
26
+
27
+
28
+
29
+ ` if(e1=1,e1<numa,e1++){`
30
+
31
+ 先程と同様カンマ演算子。`e1=1`で**e1に1を代入**して、`e1<numa`の結果を捨て、e1の値で分岐...これは先程1を代入したので1なので必ず真の分岐。
32
+
33
+ ` x1[e1]=x1[e1+1]-x1[e1];`
34
+
35
+ e1は2なので、**常に**x1[2]=x1[3]-x1[2];の演算をします。
36
+
37
+
38
+
39
+ これはあなたのやりたかったことでしょうか?