質問編集履歴

2

文法の修正

2021/09/21 23:27

投稿

NKJSM
NKJSM

スコア58

test CHANGED
@@ -1 +1 @@
1
- Arduinoを用いたCAN通信で同時に複数の信号を受け取る方法。
1
+ Arduinoを用いたCAN通信で連続的なメッセージを受け取り、処理する方法。
test CHANGED
@@ -1,6 +1,6 @@
1
1
  SparkFun CAN-Busというシールドとライブラリを使ってCAN通信を行いたいです。
2
2
 
3
- 通信相手が10ms間隔で3つの信号を送信しており、1つ目と3つ目の信号は読めるのですが、1つ目の処理中に2つ目と3つ目が来て、2つ目が上書きされているのか読み出しができません。それともメールボックスが2つとも使われて3つ目が保存されないのか。
3
+ 通信相手が10ms間隔で連続する3つのメッセージを送信しており、1つ目と3つ目の信号は読めるのですが、1つ目の処理中に2つ目と3つ目が来て、2つ目が上書きされているのか読み出しができません。それともメールボックスが2つとも使われて3つ目が保存されないのか。
4
4
 
5
5
  処理を早めようと極限まで内容を削って、通信速度を上げても無理でした。
6
6
 

1

追加

2021/09/21 23:27

投稿

NKJSM
NKJSM

スコア58

test CHANGED
File without changes
test CHANGED
@@ -1,12 +1,24 @@
1
- SparkFun CAN-Busというシールドとライブラリを使ってCAN通信を行おうとしですが、
1
+ SparkFun CAN-Busというシールドとライブラリを使ってCAN通信を行です
2
2
 
3
- 通信相手が10ms間隔で3つの信号を送信しており、1つ目と3つ目の信号は読めるのですが、1つ目の処理中に2つ目と3つ目が来て、2つ目が上書きされているのか読み出しができません。
3
+ 通信相手が10ms間隔で3つの信号を送信しており、1つ目と3つ目の信号は読めるのですが、1つ目の処理中に2つ目と3つ目が来て、2つ目が上書きされているのか読み出しができません。それともメールボックスが2つとも使われて3つ目が保存されないのか。
4
4
 
5
5
  処理を早めようと極限まで内容を削って、通信速度を上げても無理でした。
6
6
 
7
7
  3つの信号全てを受け取る方法をご教授願います。
8
8
 
9
9
 
10
+
11
+
12
+
13
+ P.S.
14
+
15
+ 通信速度9600や19200の低速時はモニタに表示されるIDは282が殆どでたまに382、302が表示されていました(282が0.05秒に一回程度、382が0.5秒に一回程度、302が1.5秒に一回程度)
16
+
17
+ 230400や500000のように高速にすると結果のように282と382のみが交互に表示されるようになりました。
18
+
19
+
20
+
21
+ また、送信タイミングは同時から変更できませんが、送信間隔を変更できまして、1秒間隔に変更しました場合、通信速度が9600でも500000でもIDは282と382のみが交互に表示され、302を一切確認できませんでした。
10
22
 
11
23
 
12
24