問題タブ [cmsis]
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 - stm32CubeMX の cmsis_os.c を修正する必要はありますか?
STMCubeMX で提供されている cmsis_os.c と cmsis_os.h を使用しています。cmsis_os.c を修正する必要がある場所が少なくとも 2 か所見つかりました。
最初の1つ:
TaskFunction_t を TimerCallbackFunction_t に置き換える必要がありますか?
2番目のもの:
私はそれがなければならないと思います:
どう思いますか?
元のファイルではなく、パッチを適用したファイルを STMCubeMX で生成する方法はありますか?
ありがとう、アルベルト
c - SPI経由でSTM32F030R8でAMIS-30543を制御
STM32 ボードで、SPI を使用して (AMIS-30543 ドライバー、26M024B2B ステッピング モーターを使用して) ステッピング モーターを制御しようとしています。私は Keil uVision 5 を使用しており、C でベアメタル アプローチを採用しています。私の問題は、モーターが回転していないことであり、エラーがどこに隠れているのかわかりません。これについてどこが間違っていたのか、それを修正する方法を指摘していただければ幸いです。お時間をいただきありがとうございます!
下図のように配線してみました。
私が書いたコードは以下です。このコードは、ドライバの制御レジスタへの書き込みを試みてから、NXT ピンをトグルして、制御レジスタに従って各トグルでモータがインクリメントするようにします。ドライバーのデータ シートを読み、便宜上この投稿にリンクしました。
関連するデータシートのセクションは、表 11 と 12 および図 19 に関連する SPI インターフェイス セクション (31 ページ) です。コマンドの種類とデータの送信先、制御レジスタに入力される 8 ビットのデータ。次のロジックを使用して最初のパケットを組み立てました...
アップデート:
これが私の試みの2回目の繰り返しです。より多くのドキュメントと例を調べて、ドライバーから応答を得て、ドライバーのレジスターに正しく書き込んでいることを証明しようとしています。これまでのところ、私は応答を得ていません。ライブラリを翻訳しようとすることは、現時点では難しすぎて混乱を招くことがわかったので (おそらく何か明白なことが欠けているのでしょうか?)、私はまだ必要最小限のアプローチを取っています。
@ralf htp 様、これまでお世話になり、誠にありがとうございました。
アップデート:
こことここで設定された指示に従って、前述のライブラリを使用してArduino Unoをセットアップしました。ステッピングモーターは回転しませんでした。ドライバーを別のものに切り替えましたが、ステッパーモーターはまだ回転しませんでした。故障したドライバーが 2 つある可能性はありますか?
更新: ralf htp が言及したライブラリを調べて、できる限り翻訳しました。ドライバーから SPI 経由で応答を取得できるようになりましたが、返される値は "0xFF" だけです。ある例では、期待どおりの制御レジスタの応答が得られましたが、繰り返されず、正確なセットアップを再作成しようとしています (既に持っていると確信していますが)。新しいコードは以下です。