問題タブ [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.
io - MSP430 - 接地された I/O ピンを読み取る方法は?
MSP430 G2452 を複数のトグル スイッチ (ボタンではなく) に接続しています。割り込みをセットアップしてボタンをデバウンスする方法は知っていますが、ポートをセットアップするのに苦労しているので、どのスイッチが閉じているかオンになっているかをサンプリングできます。
P1IN (マスキングあり) を読み取って、どのスイッチが閉じている/オンになっているか、どのスイッチが開いている/オフになっているかを把握できるようにしたいと考えています。スイッチはGNDに接続されており、接続されているピンがプルアップされているため、スイッチが閉じている/オンになっているときは、接続されているピンをプルダウンする必要があります。しかし、P1IN は変わらないようです。
ピンが接地されたときにトリガーされる割り込みを設定できますが、割り込みを使用せずにピンをサンプリングしたいだけです。PxIN で状態を読み取れるようにポート ピンを設定するにはどうすればよいですか?
(ヘッダーファイルの定義:)
msp430 - msp430 を 12 秒間スリープ状態にする方法は?
MSP430 を 10 秒間スリープ状態にする最良の方法は何ですか? 速度は、低消費電力ほど重要ではありません。
debugging - UART コード ポート後の TI MSP430 割り込みの問題
UART を持たないアプリケーションに MSP430F2013 プロセッサを使用しています。UART が必要なので、TI のサンプル コード「msp430x20x3_ta_uart2400.c」を使用して、Timer モジュールを使用して UART をエミュレートしました。これはすべて正常に機能し (IAR Embedded Workbench でコンパイル)、PuTTY を使用して文字を開発ボードに送信し、ループバックを使用して文字を端末にエコーすることをテストしました。
これはリスクを回避するための作業であり、今ではそのコードをアプリケーションのステート マシンに移植することになりました。これを行った後、タイマー割り込みと低電力スリープ モードに関連する問題が発生しています。低電力(スリープ)モードへのエントリの周りのコードのスニペットは次のとおりです。
デバッガー (C-Spy) で見ているのは、bis_SR_register()
最初のエントリで行を実行してからif
ステートメントに移動する場合があることです。つまり、スリープ状態にするように要求したという事実を無視します。他の場合には、スリープ状態になるべきときに ISR が正しくトリガーされ、最終的にif
ステートメントに戻ってプログラムの実行を続行します (予想どおり)。しかし、次のステートメントに移動しようとすると、アプリケーションがその最初の行でフリーズします。つまり、先に進むことができません。
私がやっているTIの例と機能的に異なるものは何も考えられないので、私の問題は私がそれを移植した方法に関係しているに違いないと思います。たとえば、Timer ISR とここに投稿したコードは、異なるコンパイル ユニットにあります。この種の決定は何か関係がありますか? 私の質問は少し漠然としているかもしれませんが、残念ながらすべてのコードを投稿することはできません.陥ってしまったのかもしれません。
msp430 - CC1120 と STM32
私は現在、TrxEB
based onmsp430
とRF module
based on を使用していCC1120
ます。
STM32
現在のマイクロプロセッサの代わりにマイクロプロセッサを使用したいのですがmsp430
。
を に変更することがMCU
可能Smart Rf
ですCC1120 SPI connection
。そうでない場合、なぜそれが不可能なのですか?
c++ - CコンパイラからC++コンパイラに変更すると、MSP430ファームウェアのコンパイラエラーが発生します
Texas Instruments MSP430マイクロコントローラー用の実証済みのファームウェアを新しいコンパイラー(VisualGDBを使用するVisualStudioの下のC++コンパイラー)でコンパイルしようとしています。
このファームウェアの以前のバージョンはすべてCコンパイラでコンパイルされており、エラーも警告もありません。CコンパイラからC++コンパイラへの変更が私の問題の原因であるに違いありません。(Cコンパイラでコンパイルされたコードは5年間問題なく実行されています。)
このコードスニペットを考えると:
このエラーが発生します:
エラー:「WDTCTL」はタイプに名前を付けていませんc:\ msptest \ LedBlink \ LedBlink.cpp
WDTCLTはmsp430x14x.hで宣言されています。
誰かが私を正しい方向に向けてくれませんか?
c - 粒度のためのwhileループでのクロックサイクル数の削減
while
現在、次のようなMSP430プロセッサ用にCで実装されたループがあります。
私はこのループをキャリブレーションの目的で使用していますが、そのコンテキストは私の質問にはあまり重要ではないと思います。チェックを含むループの各反復にTACCL0 & CCIE
は11クロックサイクルかかると計算しました。細分性を高めるために、この数値をできるだけ低くし、可能であればプログラムで取得したいと思います。私は完全なバカかもしれませんが、ループのサイクル数を減らす方法を考えることができないので、アドバイスをいただければ幸いです。sw_loop_count
何らかの形で価値が必要です。
c - MSP430マイクロコントローラーのprintfサポート
Quadravox、AQ430開発ツールからVisualGDB Cコンパイラに変更して、別のCコンパイラを使用してTexas Instruments(TI)MSP430マイクロコントローラ用に完全にテストされたCプログラムをアップグレードしています。
プログラムは、VisualGDBを使用してエラーと警告をゼロにしてコンパイルします。割り込みサービスルーチン、タイマー、UART制御など、すべてが機能しているようです。ただし、sprintfの特定の使用法は機能していません。例えば:
これは次を返します:break: %3.1f msec
これは予想されることです:break: 12.5 msec
私は次のことを学びました(ウィキペディアから):
コンパイラオプション--printf_support=[full | 最小限| nofloat]を使用すると、printf / sprintfのより小さく、機能が制限されたバリアントを使用し、ビルド時にその選択を行うことができます。
有効な値は次のとおりです。
full:すべてのフォーマット指定子をサポートします。これがデフォルトです。
nofloat:浮動小数点値の印刷のサポートを除外します。%f、%g、%G、%e、および%Eを除くすべてのフォーマット指定子をサポートします。
最小:幅または精度フラグなしの整数、文字、または文字列値の印刷をサポートします。具体的には、%%、%d、%o、%c、%s、および%x形式指定子のみがサポートされます
printfを完全にサポートする必要があります。このCプログラムは何年にもわたって使用されているため、私の製品のMSP430がこれをサポートすることを私は知っています。
私の問題は、1)VisualGDBにprintfサポートを完全に設定する手段があるかどうか、2)ある場合、どこで、どこに設定するかがわからないことです。
ありとあらゆるコメントと回答をいただければ幸いです。
c - ユーザー定義関数の型キャストエラーに関するコンパイラ警告の生成
可能であれば、関数の戻り値の型キャストが渡されたパラメーターの1つにどのように対応するかに基づいて、コンパイラー警告を生成する方法を知りたいです。私の例では、関数呼び出しが「Bytes」パラメーターで定義されたものよりも小さいものに型キャストされた場合に、コンパイラー警告を生成したいと思います。これは、MSP430にIARを使用するCプログラムで使用されます
例えば:
上記の機能は次のとおりです。
編集:nullポインターを返すことも検討しましたが、それは静的変数が必要であることを意味します。やりたくない
assembly - MSP430の組み立て手順
これらの命令がMSP430プロセッサに対して何をするかを理解しようとしています。
組み立て手順を説明するものをあまり見つけることができませんでした。これらの手順が何をするのか、各手順の後にr5レジスタに何が保存されるのかを知りたいと思います。誰かが説明できますか?
c - CodeComposer5.2.1で既存のプロジェクトを開く
TIMSP430マイクロコントローラのCプログラムをサポートするためのTICodeComposerの使用を評価しています。
しかし、先週、大成功を収めて取り組んできたプロジェクトファイルを開く方法がわかりません。
既存のプロジェクトを開くためのメニュー項目がないようです。同様に、選択できる最近のプロジェクトのリストはないようです。メニューオプションの「職場の切り替え」ではいくつかの選択肢がありますが、最終的には空のプロジェクトだけになります。「Workplace」に関するTIのドキュメントは私には明確ではなく、既存のプロジェクトファイルを単純に開く機能は私には最もわかりにくいようです。
プロジェクトを開いて仕事に戻るにはどうすればよいですか?
Code Composerのccsproject、cproject、およびプロジェクトファイルの違いは何ですか?
ありがとう!