問題タブ [stm32-hal]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - SPI を使用して STM32 の磁気エンコーダーから 16 ビット値を送信して読み取る
STM32 NUCLEO F446RE の SPI 経由でAMS AS5050A磁気エンコーダーから値を読み取ろうとしていますが、動作させることができません。HAL ライブラリを使用すると、出力は常に 0 になります。周辺機器の設定は次のとおりです。
これまでの私のコードは次のとおりです。
このAMS_AS5050A_create_command
関数は、短いコマンドに読み取り/書き込みビットを追加し、パリティ ビットを追加します。これは正しいコマンド0x3FFF
で使用されます。0xFFFF
次のようになります。
PuTTy の出力を見ると、出力は常に 0 です。関数はエラー コードを表示しませんが、SPI 読み取りコマンドからの出力は常に 0 です。前に磁石を置いても、次のようになります。
私が間違っていることを知っている人はいますか?
c - 2 つの STM32 MCU に対して 1 つのビルドを作成する方法は何ですか?
stm32f シリーズと stm32g シリーズの 2 つのビルドをサポートするファームウェアがあります。展開中の選択を容易にするために、両方に対して 1 つのファームウェア ビルドを使用することは可能ですか?
ファームウェアは stm から HAL を使用しており、それらを 1 つに組み込むと、関数名、変数名などで競合が発生します。
私が試みている 1 つのオプションは、すべての HAL 関数とその他の変数または型の名前を特定の MCU ごとに変更し、それらをラッパーに入れて両方を含めることができるようにすることです。
これにアプローチする他の方法はありますか?