問題タブ [68hc12]

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.

0 投票する
1 に答える
661 参照

c - 初期化されたオブジェクトのコピーダウンが作成されていませんか?

私は codewarrior を使用して HC12 用にコンパイルしています。2 つの 120 要素の配列 (score と dur) があります。通常の方法で初期化しました: unsigned int score[120] = { ... }; しかし、コンパイルしようとすると、「L1981: 初期化されたオブジェクト "スコア" のコピーダウンが作成されませんでした。初期化データが失われました」というリンカ エラーが発生します。それが何を意味するのか、またはどのように作成できるのかがわからないため、コピーダウンが作成されます。このプログラムはコンパイルされ、値を main() に配置すると正常に設定されるように見えますが、割り込みによってアクセスされるため、グローバル変数である必要があります。

0 投票する
3 に答える
525 参照

embedded - 一般に、個々の MCU を一意に識別することは可能ですか (ライセンス目的で) (利用可能な MAC アドレスはありません)

MCU (具体的には、Freescale MC9S12E64 - これが重要かどうかはわかりませんが) のファームウェア インストール プログラムを拡張するように求められています。

拡張インストールの目的は、ファームウェアをインストールできる回数を制限することです。これを行う最善の方法は、中央データベースで追跡するために、ファームウェアのインストール中に使用中の特定の MCU を一意に識別することです。

MCU が MAC アドレスを持っていれば、これは実現可能と思われます。残念ながら、これらの MCU にはネットワーク インターフェイスがないため、MAC アドレスがありません。上記の MCU のマニュアルを調べたところ、MCU の一意の識別子の表示が見つかりません。

私の質問は次のとおりです。通常、MCU には固有の識別子が関連付けられていますか? MAC アドレスに類似したもので、ファームウェアがこれらのデバイスに焼き付けられているときにソフトウェアで取得できますか?

0 投票する
2 に答える
13534 参照

putty - PuTTyはANSI/VT100エスケープシーケンスで正しく機能しますか?

FreescaleMC9S12C32プロセッサ用のHC12Assemblyのクラスのプログラムを作成しています。シリアル(-over-USB)を介してデバイスに接続されている端末としてPuTTyを使用しています。この割り当てでは、VT100 / ANSIエスケープシーケンスを使用してカーソルを任意の場所に移動し、現在の時刻を書き込んでからそれを返すことを想定しています。これにより、ユーザーは入力して入力をエコーバックできます。

以下のシーケンスを使用して、カーソルを保存し、移動して、戻します。しかし、何らかの理由で、PuTTyはカーソルを左上に置くだけで、カーソルを返すことができません。

エスケープシーケンスを間違ってコーディングしていますか、それともPuTTyは期待どおりにエスケープシーケンスを処理しませんか?

0 投票する
0 に答える
255 参照

loops - アセンブリ言語で配列を追加する際に問題がありますか?

配列内のコンポーネントを合計すると思いますが、インデックスまたはループ値を指定すると、ループが早く終了します。4回ループするはずですが、数回ループして終了します。誰でも私を助けることができますか?

0 投票する
1 に答える
1681 参照

assembly - アセンブリ ソース コード ファイルで変数と配列を適切に設定するためのガイダンスが必要です

CodeWarrior でアセンブリ コード プロジェクトをセットアップするときに、「絶対アセンブリ」と「再配置可能なアセンブラ」の選択肢があると言われました。コードをアセンブルして正しくステップスルーしようとしているだけなので、現時点ではHCS12マイクロコントローラを使用していません。「再配置可能」を選択したのは、コードが読みやすくなり、セクションに分割されると信じているためです。ただし、変数と配列を適切に設定する方法を理解するのに苦労しています。

変数には RAM 内のアドレスがあることを知っています。したがって、このアドレスを定義する必要があると思います。また、変数の大きさ、つまり 1 バイトか 2 バイトかなどを定義する必要があるとも言われました。

同じことが配列にも当てはまると思います。そのため、場所とサイズを定義する必要があります。また、配列に値を入力する必要があります。

以下のコードをアセンブルすると、R1 と R2 に設定した場所にメモリがないことがわかります。EQU ディレクティブを使用してプログラミングを開始したため、フォローしません。

いつ DC を使用するのかわかりません。またはDS。そして、それがEQUを使用することとどのように異なるか。それはすべて同じように見えますが、変数と配列の設定方法について一般的に混乱しています。

0 投票する
1 に答える
1218 参照

assembly - このアセンブリ コードに偶数または奇数を追加する正しい方法は何ですか?

たとえば、これらのコード番号を含むファイル (codes.txt) があります。

次に、toInteger.asm と呼ばれる別のサブルーチンでこれらの数値の読み取りを支援する readCode_Driver と呼ばれるサブルーチン。readCode_Driver.asm ファイルは次のようになります。

これは私の toInteger.asm ファイルとその内容です:

これらのコードを検証するには、addeven.asm という別のサブルーチンが必要です。このサブルーチンは、コードに偶数を追加することを想定しています。たとえば、CODE1 は 3392236 です。偶数はこの位置 0 1 2 3 4 5 6 から選択されます。CODE1 では、偶数は 3(pos 0)、9(pos 2)、2(pos 4)、および 6 になります。 (位置6)。オッズ番号は 3(post1)、2(pos3)、3(pos5) になります。

問題は、code1 の偶数を取得し、個々の偶数に 2 を掛けてから、それらをアセンブリ言語で加算するにはどうすればよいかということです。この 2*3,2*9,2*2,2*6 のようになり、6+1+8+4+1+2 のようにそれらを追加します。これらのコードでは、18 は 1 と 8 なので、1+8 のように追加しました。マイクロコントローラーはdragon 12 68hc12

0 投票する
1 に答える
585 参照

bluetooth - HCS12 を Bluetooth デバイスとどのように接続しますか?

Bluetooth モジュールを HSC12 ボードに接続するための情報が必要です。

マイクロコントローラー ( HSC12 freescale ) を使用してプロジェクトを作成しており、Bluetooth デバイス (bc417) とインターフェイスさせたいと考えています。

ピン PS0 に RXD、ピン PS1 に TXD を持つ SCI0 ポートを使用する予定です。BluetoothモジュールでSCIポートを使用できますか?それともSPIポートを使用する必要がありますか? SCI ポートは RS-232 インターフェイスのみをサポートしていますか?

ご覧のとおり、Bluetooth モジュールを正しく接続するために必要な手順について、私は少し混乱しています。

誰かが私のためにステップを分解できれば、それは大いに役立ちます. 私の目標は、Bluetooth を介してスマートフォンからデータを送受信できるようにすることです。助けていただければ幸いです。不足しているものがあればお知らせください。追加します。

よろしくお願いします!

0 投票する
0 に答える
234 参照

assembly - HC12 アセンブリで STAB が機能しない

そのため、配列の必要なバイト/ワードオフセットを計算する次のコードを思いつきました。

しかし、何らかの理由でストア アキュムレータ b が機能していません。シミュレータでデバッグしていますが、byteOffset と wordOffset のメモリ位置は変わりません。それらは、予約ストレージとは対照的に、予約メモリ バイトを使用して定義されていますが、これは正しいと思います (両方を試しました)。b の値は正しいですが、スタブ行は単に何もしていません。

私のデバッグでは、実行されているコマンドは

アキュムレータ B は値 4 を含み、メモリ位置 101d は完全にフリーで書き込み可能です。

どんな助けでも大歓迎です、

ありがとう

0 投票する
0 に答える
100 参照

assembly - HCS12 マイクロコントローラ アセンブリ Lang を使用したツリーの作成

HCS12 マイクロコントローラ アセンブリ言語で二分探索木に挿入したいと考えています。私は最初に値を取得し、それらは特定のアドレスにあります。例えば; 与えられた数字がそれぞれ 5-3-8-9-1 であると仮定しましょう。そして、300番地から始めるとしましょう。したがって、番号のアドレスは 301、302、303、304、305 です。それぞれ。この二分探索木によると、5 がルート、3 が 5 の左の子、8 が 5 の右の子、9 が 9 の右の子、1 が 1 の左の子であることがわかります。結果として、対応するツリーは次のようになります。5 / \ 3 8 / \ 1 9

ここで、eft と右の子のアドレスの両方の値を格納するアセンブリ コードを書きたいと思います。私のプログラムの結果は、次の出力をメモリに書き込む必要があります: (最初の値)(左の子のアドレス)(右の子のアドレス)(2 番目の値)(左の子のアドレス)(右の子のアドレス) .......

したがって、これによると; プログラムは、次の出力をメモリのどこかに書き込む必要があります。

05 03 02 03 03 03 03 04 00 00 08 00 00 03 05 09 00 00 00 00 01 00 00 00 00 ===> 00 00 は、左または右の子がないことを意味します。

これは、そのアセンブリコードを書くための私の最初の試みです:

このアルゴリズムを解決するのを手伝ってくれる人はいますか? ありがとう