問題タブ [msp430]
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.
embedded - 組み込み:SDHCSPI書き込みの問題
私は現在、MSP430F2618MCUとSanDisk4GBSDHCカードを使用するロガーで働いています。
カードの初期化は期待どおりに機能します。MBRおよびFATテーブルも読み取ることができます。
問題は、データを書き込めないことです。ノッチによって書き込み保護されているかどうかを確認しましたが、そうではありません。Windows 7 OSは、読み取り/書き込みに問題はありません。
ただし、「HxD」というツールを使用して、いくつかのセクターを変更しようとしました(Windowsの場合)。コンテンツをSDカードに保存しようとすると、ツールがウィンドウをポップアップして「アクセスが拒否されました!」と通知します。
次に、SDカードに書き込むためのコードに戻りました。
問題は、カードのステータスを待っているときのようです。
ここでは、Xが未定義のタイプ「X5」(16進値)の応答を待っています。
しかし、ほとんどの場合、応答は0x00(16進値)であり、ループから抜け出すことはできません。応答が0xFF(16進値)の場合はほとんどありません。
何が問題なのかわかりません。
誰か助けてもらえますか?ありがとう!
c - MSP430 上の C プログラムに必要な最大スタック サイズ
再帰を使用しない C プログラムでは、理論的には、特定の関数を呼び出すために必要な最大/最悪の場合のスタック サイズと、それが呼び出すものすべてを計算できるはずです。ソース コードまたはコンパイル済みの ELF ファイルから、これを実行できる無料のオープン ソース ツールはありますか?
あるいは、ELF ファイルから関数のスタック フレーム サイズを抽出する方法はありますか?
MSPGCC 3.2.3 を使用して MSP430 用にコンパイルしています (古いバージョンであることはわかっていますが、この場合はそれを使用する必要があります)。割り当てるスタック領域はソース コードで設定され、残りのメモリを他のことに使用できるようにできるだけ小さくする必要があります。割り込みによって使用されるスタック領域を考慮する必要があることを読みましたが、私が使用しているシステムは既にこれを考慮しています - その上に追加する余分な領域を計算しようとしています. また、関数ポインタがこれを難しくしていると読んだことがあります。ここで関数ポインタが使用されているいくつかの場所では、関数ポインタが呼び出すことができる関数を知っているので、呼び出された関数と呼び出し関数に必要なスタック領域がわかっている場合は、これらのケースを手動で考慮することができます。
静的分析は、実行時のスタック ペインティングよりも堅牢なオプションのように思えますが、静的に行う良い方法がない場合は、実行時にそれを実行することも選択肢の 1 つです。
編集:
-fstack-usage
コンパイル時に各関数のフレーム サイズを保存するGCC のフラグを見つけました。残念ながら、MSPGCC はそれをサポートしていません。しかし、別のプラットフォームで似たようなことをしようとしている人にとっては役に立つかもしれません.
msp430 - Contiki-OS のコードを最小限に抑える
EXP430 ボード上の MSP430の Contiki ポートThingsquare Mistからサンプル コードをコンパイルすると、次のようになります。
これはblink
例でも発生し、さらに多くのバイトがオーバーフローしています。基本的な例から始められるように、最適化を設定したり、未使用のコンポーネントを削除したりするにはどうすればよいですか?
makefile - Thingsquare Mist (Contiki-OS) に platform-conf.h がありません
Contiki-OSポートのThingsquare mistを複製して、Texas Instruments EXP430 ボードで動作するようにしました。Hello World
それぞれのフォルダーから実行すると
platform-conf.h
欠落しているエラーが表示されます:
ファイルの書き方を知っている人はいplatform-conf.h
ますか?に空のファイルを追加しようとすると../../platform/mist-exp54388
、ファイルの検索は成功しますが、多くのエラーが発生します。
c - msp430g2452 スイッチからの割り込みのキャプチャに関する問題
msp430g2452 MCU のコードを書き込もうとしています。割り込みと switch ステートメントを使用して、LED のオンまたはオフのいくつかのモードを循環する必要があります。私はコーディング、c、およびpythonを学び始めたばかりです:)ので、何がうまくいかないのかわかりません。
私の知る限り、ランチパッド エミュレーション/開発ボードのボタンである p1.3 の割り込みをキャプチャしていないことを除いて、すべてが正常に機能しています。Code Composer Studio 5 を使用してデバッグし、エミュレーションを一時停止すると、P1IFG.3 のビットを変更してエミュレーションを再開し、正しい一連のイベントが発生します。したがって、問題はそのスイッチエッジをキャプチャしているように思えます。
ここで何が起こっているのかについて誰かが何か考えを持っているなら、私はそれを非常に感謝しています. 興味のある方はmcuのデータシートを。そして、私が従うために使用しているコード:
ここに固定コードがあります
arduino - ITG3200 ジャイロスコープからの Arduino I²C マスター リーダー
Arduino ライブラリをMSP430ライブラリに変換する Energia ライブラリを使用しています。ジャイロをLaunchpadに接続し、必要なプルアップ抵抗を使用して回路を作成しました。以下は、Sparkfun ジャイロを使用したサンプル コードです。
SDA バスと SCL バスにオシロスコープを接続して、結果が正しいかどうかを測定しました。最初の 8 SCL サイクルでは、SDA バスは私が予想していたもので、7 ビットのスレーブ アドレスと 1 ビットの読み取りでした。しかし、ジャイロからの ACK に対応する SCL の 9 番目のサイクルで低いはずの SDA が間違っているようです。ジャイロはマスターに ACK を送信するために SDK を Low に下げることはありません。
最近購入した商品なので特に問題はないと思います。そもそもマスターがACKをチェックするためにSDAバスを解放することは決してないと思います。ここで何が欠けていますか?
assembly - このコード (アセンブリ) について説明してもらえますか?
私は MSP430 マイクロコントローラーをいじっており、さまざまな物理コンポーネントを相互に通信させる方法を理解しようとしています。この場合、ディップ スイッチを使用して 7 セグメント LED ディスプレイの異なるセグメントをオンにするコードを (友人から) 入手しました。私はこのコードを読んで、それがどのように機能するか、どのレジスタが機能しているかを理解しようとしています。
コードのさまざまな部分を理解するのに非常に苦労しています。例えば:
この行が本当に必要ですか:
メインで?6
への移動はどうR13
ですか?なぜそれが6
他の数字ではないのですか?また、メインセクションは現在のものよりもはるかに簡素化できるように感じます.
誰かがこのコードを実行するのを手伝ってくれますか? 大変感謝しています。