0

Intel Galileo Gen2 ボードから ModBusRTU 上の産業用ハードウェアと通信しようとしています。このボードを使用して UART を RS485 http://linksprite.com/wiki/index.php5?title=RS485_Shield_V2.1_for_Arduinoに変換し、Arduino (ピン 2/3 に SoftwareSerial を使用) と Galileo (Serial1 を使用) の間でシリアル通信できます。ピン 0/1)。したがって、RS485 のリンクが機能していることはわかっています。

Arduino Uno を使用すると、このライブラリhttps://github.com/4-20ma/ModbusMasterのおかげで、ModBusRTU を使用して自分のデバイスと通信できます。

galileo gen2 で、「警告: ライブラリ ModbusMaster は [avr, sam] アーキテクチャで実行されると主張しており、[i586] アーキテクチャで実行される現在のボードと互換性がない可能性があります。」という警告を受け取りました。アーキテクチャが異なるためです。 .

今、arduino、raspberry、galileoのmodbusとrs485に関するクッキングハックのチュートリアルの例を使用しようとしていますが、うまくいきません。次のようなコンパイル エラーが大量に発生します。

C:\Intel\arduino-1.6.4\libraries\ModBusMaster485\ModbusMaster485.cpp: メンバー関数 'uint8_t ModbusMaster485::ModbusMasterTransaction(uint8_t)': C:\Intel\arduino-1.6.4\libraries\ModBusMaster485\ModbusMaster485. cpp:701:50: エラー: '_crc16_update' はこのスコープで宣言されていませんでした

C:\Intel\arduino-1.6.4\libraries\ModBusMaster485\ModbusMaster485.cpp:814:52: エラー: '_crc16_update' はこのスコープで宣言されていません

C:\Intel\arduino-1.6.4\libraries\ModBusMaster485\ModbusMaster485.cpp: グローバル スコープ:

C:\Intel\arduino-1.6.4\libraries\ModBusMaster485\ModbusMaster485.cpp:881:14: エラー: 'unsigned int ModbusMaster485::makeWord(unsigned int)' のプロトタイプがクラス 'ModbusMaster485' のいずれとも一致しません

C:\Intel\arduino-1.6.4\libraries\ModBusMaster485\ModbusMaster485.cpp:25:0 から含まれるファイル: C:\Intel\arduino-1.6.4\libraries\ModBusMaster485\ModbusMaster485.h:302:11:エラー: 候補は: uint16_t ModbusMaster485::makeWord(uint8_t, uint8_t)

C:\Intel\arduino-1.6.4\libraries\ModBusMaster485\ModbusMaster485.h:301:14: エラー: uint16_t ModbusMaster485::makeWord(uint16_t) C:\Intel\arduino-1.6.4\libraries\ModBusMaster485\ModbusMaster485. cpp:887:14: エラー: 'unsigned int ModbusMaster485::makeWord(uint8_t, uint8_t)' のプロトタイプがクラス 'ModbusMaster485' のいずれとも一致しません

C:\Intel\arduino-1.6.4\libraries\ModBusMaster485\ModbusMaster485.cpp:25:0 から含まれるファイル: C:\Intel\arduino-1.6.4\libraries\ModBusMaster485\ModbusMaster485.h:302:11:エラー: 候補は次のとおりです: uint16_t ModbusMaster485::makeWord(uint8_t, uint8_t) C:\Intel\arduino-1.6.4\libraries\ModBusMaster485\ModbusMaster485.h:301:14: エラー: uint16_t ModbusMaster485::makeWord(uint16_t) コンパイル エラー.

ガリレオ Gen2 で ModBus を動かした人はいますか?

ありがとう、アルド

4

1 に答える 1