質問編集履歴

9

補足

2022/10/25 05:23

投稿

Alyn
Alyn

スコア50

test CHANGED
File without changes
test CHANGED
@@ -4,6 +4,7 @@
4
4
  シリアルデータを送信すると1回目の送信には成功しますが、2回目以降は0が送信されてしまいます。
5
5
  ちなみにArduino Megaでは切り替えをすることができていて、通信することができます。
6
6
  原因と下記の理想の受信データにする方法を教えていただきたいです。
7
+ ※この対象Dueの通信相手は別DueのSerial1のtx/rxで、その別DueはSerial1で受信したデータをそのまま16進数でUSBケーブルで接続したPCのシリアルモニタに送っています。
7
8
 
8
9
  ### 該当のソースコード
9
10
  ```Arduino

8

図追加

2022/10/25 05:16

投稿

Alyn
Alyn

スコア50

test CHANGED
File without changes
test CHANGED
@@ -54,6 +54,9 @@
54
54
  00
55
55
 
56
56
  ```
57
+ ### 接続図
58
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-10-25/489d8782-e21d-44e2-88d4-d22134771d5e.png)
59
+
57
60
  ### 補足情報
58
61
  【Arduino Due】
59
62
  https://store-usa.arduino.cc/collections/boards/products/arduino-due

7

マルチポスト

2022/10/25 03:00

投稿

Alyn
Alyn

スコア50

test CHANGED
File without changes
test CHANGED
@@ -62,3 +62,8 @@
62
62
  【データシート】
63
63
  https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11057-32-bit-Cortex-M3-Microcontroller-SAM3X-SAM3A_Datasheet.pdf
64
64
 
65
+ ### マルチポスト
66
+ https://teratail.com/questions/h3km9w6nkmhjgm
67
+ https://qiita.com/alyn/questions/78d9963e81f53ab13f75
68
+ https://ja.stackoverflow.com/questions/91802/digitalwrite%e3%81%a8serial1-write%e3%81%ae%e5%88%87%e3%82%8a%e6%9b%bf%e3%81%88%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6
69
+

6

ついき

2022/10/25 01:42

投稿

Alyn
Alyn

スコア50

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,7 @@
10
10
  void setup() {
11
11
  const byte txData[6] = { 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF };
12
12
 
13
- //Serial1.write (1)
13
+ //Serial1.write (1回目)
14
14
  Serial1.begin(9600);
15
15
  Serial1.write(txData, 6);
16
16
  Serial1.end();
@@ -23,7 +23,7 @@
23
23
  digitalWrite(18, HIGH);
24
24
  delay(100);
25
25
 
26
- //Serial1.write (2)
26
+ //Serial1.write (2回目以降)
27
27
  for(byte i = 0; i < 5; i++)
28
28
  {
29
29
  Serial1.begin(9600);

5

修正

2022/10/25 01:41

投稿

Alyn
Alyn

スコア50

test CHANGED
File without changes
test CHANGED
@@ -3,7 +3,7 @@
3
3
  しかしdigitalWrite()からSerial1.write()を実行すると正しくシリアル通信をすることができません。
4
4
  シリアルデータを送信すると1回目の送信には成功しますが、2回目以降は0が送信されてしまいます。
5
5
  ちなみにArduino Megaでは切り替えをすることができていて、通信することができます。
6
- 原因と改善方法を教えていただきたいです。
6
+ 原因と下記の理想の受信データにする方法を教えていただきたいです。
7
7
 
8
8
  ### 該当のソースコード
9
9
  ```Arduino
@@ -38,13 +38,6 @@
38
38
 
39
39
  }
40
40
  ```
41
- ### シリアルモニタ(実際の受信データ)
42
- ```
43
- AA BB CC DD EE FF
44
- 00
45
-
46
- ```
47
-
48
41
  ### シリアルモニタ(理想の受信データ)
49
42
  ```
50
43
  AA BB CC DD EE FF
@@ -55,7 +48,12 @@
55
48
  AA BB CC
56
49
 
57
50
  ```
51
+ ### シリアルモニタ(実際の受信データ)
52
+ ```
53
+ AA BB CC DD EE FF
54
+ 00
58
55
 
56
+ ```
59
57
  ### 補足情報
60
58
  【Arduino Due】
61
59
  https://store-usa.arduino.cc/collections/boards/products/arduino-due

4

わかりやすく

2022/10/25 01:35

投稿

Alyn
Alyn

スコア50

test CHANGED
File without changes
test CHANGED
@@ -27,7 +27,7 @@
27
27
  for(byte i = 0; i < 5; i++)
28
28
  {
29
29
  Serial1.begin(9600);
30
- Serial1.write(txData, 6);
30
+ Serial1.write(txData, 3);
31
31
  Serial1.flush();
32
32
  Serial1.end();
33
33
  delay(1000);
@@ -48,11 +48,11 @@
48
48
  ### シリアルモニタ(理想の受信データ)
49
49
  ```
50
50
  AA BB CC DD EE FF
51
- AA BB CC DD EE FF
51
+ AA BB CC
52
- AA BB CC DD EE FF
52
+ AA BB CC
53
- AA BB CC DD EE FF
53
+ AA BB CC
54
- AA BB CC DD EE FF
54
+ AA BB CC
55
- AA BB CC DD EE FF
55
+ AA BB CC
56
56
 
57
57
  ```
58
58
 

3

ほそく

2022/10/25 01:31

投稿

Alyn
Alyn

スコア50

test CHANGED
File without changes
test CHANGED
@@ -28,6 +28,8 @@
28
28
  {
29
29
  Serial1.begin(9600);
30
30
  Serial1.write(txData, 6);
31
+ Serial1.flush();
32
+ Serial1.end();
31
33
  delay(1000);
32
34
  }
33
35
  }

2

補足

2022/10/25 01:29

投稿

Alyn
Alyn

スコア50

test CHANGED
File without changes
test CHANGED
@@ -24,21 +24,36 @@
24
24
  delay(100);
25
25
 
26
26
  //Serial1.write (2)
27
+ for(byte i = 0; i < 5; i++)
28
+ {
27
- Serial1.begin(9600);
29
+ Serial1.begin(9600);
28
- Serial1.write(txData, 6);
30
+ Serial1.write(txData, 6);
31
+ delay(1000);
32
+ }
29
33
  }
30
34
 
31
35
  void loop() {
32
36
 
33
37
  }
34
38
  ```
35
- ### シリアルモニタ(受信データ)
39
+ ### シリアルモニタ(実際の受信データ)
36
-
37
40
  ```
38
41
  AA BB CC DD EE FF
39
42
  00
40
43
 
41
44
  ```
45
+
46
+ ### シリアルモニタ(理想の受信データ)
47
+ ```
48
+ AA BB CC DD EE FF
49
+ AA BB CC DD EE FF
50
+ AA BB CC DD EE FF
51
+ AA BB CC DD EE FF
52
+ AA BB CC DD EE FF
53
+ AA BB CC DD EE FF
54
+
55
+ ```
56
+
42
57
  ### 補足情報
43
58
  【Arduino Due】
44
59
  https://store-usa.arduino.cc/collections/boards/products/arduino-due

1

URL修正

2022/10/25 01:22

投稿

Alyn
Alyn

スコア50

test CHANGED
File without changes
test CHANGED
@@ -41,7 +41,8 @@
41
41
  ```
42
42
  ### 補足情報
43
43
  【Arduino Due】
44
+ https://store-usa.arduino.cc/collections/boards/products/arduino-due
44
- https://store.arduino.cc/usa/due
45
+ https://content.arduino.cc/assets/A000056-full-pinout.pdf
45
46
 
46
47
  【データシート】
47
48
  https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-11057-32-bit-Cortex-M3-Microcontroller-SAM3X-SAM3A_Datasheet.pdf