STM32F4-Discovery Boardを使用してUARTペリフェラルでModbus RTUプロトコルを実装しようとしています。C/C++を使用してModbusレジスタのアドレスをマップする方法
Modbus RTUを使用してマスタとスレーブの機能を実装する予定です。ここで
が私の質問です
私はMODBUSにUARTの私の受信データを移動し、UARTにMODBUS層からのデータを送信することができるどのように、C/C++を使用して、私はあなたの説明を理解するのを助けることができるいくつかのコードスニペットを提供してください。 (現在、私はいくつかのパターンを提案してくださいいくつかのAPIを思い付くことを考えています)
私はModbusレジスタとコイルをどのように実装できますか?私は、ModBusアプリケーションマニュアルで指定されている通りにアドレスを定義する方法を意味しました。コードスニペットで私に説明してください。私が実装しようとした何かの下に。
/*Global Array, Structure and Variable Declarations*/
/* So to access Discrete_Output_Coils[2345]
the valid address to include in the protocol would be
so we have to access address 0x929 to read the
data.*/
const unsigned short int Discrete_Output_Coils[4999];
const unsigned short int Discrete_Input_Contacts[4999];
const unsigned short int Analog_Input_Register[4999];
const unsigned short int Anlog_output_Holding_Register[4999];
あなたの質問はあまりにも広いです。まず、master *または* slaveで始まりますが、両方で始めることはできません。次に、Modbusの仕様を読んでください。第3に、非常にシンプルな非常にシンプルな実装で始めましょう。ここでは、フレームを送ったり受信したりします。あなたが基本的な送信ソーターを持っていなければ、レジスタの実装について考えようとすることには意味がありません。 – user694733