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