さまざまな出力機能 (デジタル出力、シリアル、アナログなど) を持つ組み込みシステムに取り組んでいます。これらの関数を制御する多くの変数を渡すためのクリーンな方法を見つけようとしています。
それらすべてを頻繁に渡す必要はありませんが、入力データ (この場合は TCP ネットワークから) を読み取り、データを解析する関数が必要でした (IE、3 番目のバイトには8 つのデジタル出力の状態 (そのバイトのどのビットが高いか低いかに応じて)) を変数に入れ、プログラムの他の場所で使用できるようにします。
その関数を main() 関数とは別にしたかったのですが、そうすると、書き込み先の 20 ほどの変数へのポインターを渡す必要がありました。変数をグローバルにできることはわかっていますが、関数に渡すことで、関数がその変数をいつ編集できるかを明確にすることで、デバッグを容易にしようとしています。
私の最良のアイデアは構造体であり、それにポインターを渡すだけでしたが、特にそれらすべてに一度にアクセスする必要がある関数は実際には1つしかないため、より効率的な方法があるかどうかはわかりませんでした。この一連の状態変数に格納される情報の一部のみを必要とします。
とにかく、編集が必要な関数間で一度に多くの変数を送信するきれいな方法はありますか?