• 締切済み

マイコンのCCRのIビット

仮想マイコンで、説明の都合上CCRのIビットの初期値(マイコンが動作し始めた直後の値)を‘0’(割り込み許可)としている。と習いました。一般のマイコンは、CCRのIビットの初期値を‘1’としているのは何故??仮想マイコンでCCRのIビットの初期値を‘1’にしたらどうなるの??

みんなの回答

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.2

H8?今度から質問にマイコンの名前を書いてね。 その仮想マイコンのことは知らないですが、Iビットは割り込みマスク禁止なので割り込み許可のままCPUが動き出したらまずいと思いますよ。いきなり割り込んで問題なく作ってあれば良いですが初期化が必要だった場合に確実にストールとか問題を起こします。 ちなみにH8の実物はリセット直後は1です。

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

真意や仮想マイコン自体の挙動は習った方に聞いてもらうしかありませんが、通常は少なくともマイコンの初期化が終了するまでは割り込みを禁止します。 でないと初期化が終わる前に割り込みが働き出してヘンな挙動の原因になるからです。

tskdam
質問者

お礼

回答してくだっさた方ありがとうございます。 回答を参考にもう少し詳しく調べなおしてみます。

関連するQ&A

  • H8/36037 CCRの設定方法

    現在AH7000でH8/36037に書き込んでいます. タイマZ0割り込み処理にジャンプするために,コンディションコードレジスタ(CCR)のIビットが0クリアされていないといけません. このCCRはコントロールレジスタなので「組み込み関数」で設定できるとのことなのですが,調べてみてもよく分かりませんでした. 組み込み関数をつかってどのようにしてコントロールレジスタを設定するのでしょうか。教えてください.

  • I/Oポートorシリアルインタフェースがたくさんあるマイコン

    I/Oポートorシリアルインタフェースがたくさんあるマイコン 現在、I/Oポート若しくはシリアルインタフェースがたくさんあるマイコンを探しています。 10系統のコマンドを1個のマイコンで受け、その統計を取るような制御をしたいのですが、系統が多いため、なかなかデバイスが見つかりません。 コマンドは16ビット+ストローブ1ビットの計17ビットを予定しており、これが10系統なので170個のI/Oポートが必要になります。 コマンドそのものはシリアルで通信する事も可能ですが、10系統のシリアルを持つデバイスもなかなか無いので困っています。 170個以上のI/Oポートを持っているor10系統以上のシリアルインタフェースを制御できるマイコンを紹介頂けないでしょうか?

  • 1Vで動作するマイコン

    電圧1Vで動作するマイコンってありますでしょうか。 ・電源、I/O電圧とも1V ・速度は数MHz以上あれば理想的ですが、もっと遅くてもかまわない。 ・C言語でプログラムできる ・1個から(多くても数十個単位)で手に入る(個人では買えなくても商社を通して買えればいいですが) ・フラッシュROM(何度も書き直せる) ・ライタが簡単に手に入る(or簡単な回路で書き込める) ・PCと簡単につなげる。(UARTとかがあればいいです。)  (超理想的には)USBとかでつながって、しかもマイコン上にレギュレータ(or DC-DCコンバータ)ものってて、USBバスパワーから1Vも作れる、とか都合がいいものがあるといいんですが。。 まあ、条件を全部満たしていなくても、とりあえず、1Vで動作するマイコンで使いやすそうなのがある、という情報だけで結構です。 よろしくお願いします。

  • マイコンのインターフェイスについて

    今現在、下記のような回路の為の部品選定をしているのですが、、、 アナログ電圧入力(DC) → ADC(分解能24bit) → マイコン(H8)にて演算処理 → DAC(電流出力) ADC →(1)→ マイコン 上記(1)のインターフェイスのことについて質問させていただきます。 24ビットの高分解能ADCが実装されているマイコンが見つからなかったため 現在外付けのADCを選定しております。 それで、いくつかのADCのデーターシートを参照すると、 I2C準拠のシリアルインターフェイスが付いているものや、SPIのものやら あるのですが、それらシリアルインターフェイスがついていないADC 例えば↓ http://www.analog.com/jp/analog-to-digital-converters/ad-converters/AD9283/products/product.html などはデーターシートの出力にはTTL、CMOSコンパチと謳われておりますが こういったADCとマイコンを接続する時はマイコン側のインターフェイスは I/Oポートを使用するのでしょうか? とんちんかんなことを言っていたら申し訳無いのですが、 宜しくお願いいたします。

  • H8S2368マイコンのTCSR_1レジスタの4ビット目が1のはずなのに0と表示される。

    いま、H8S2368マイコンのプログラムを作っているのですが、 TCSR_1レジスタの値を printf("data:%X addr:%p\n\r", TMR1.TCSR.BYTE,(void*)&TMR1.TCSR.BYTE); このプログラムでリードしてみて、UART通信で受信したところ ”data:C0 addr:ffffb3” このレジスタのデータが0xC0というのを確認しました。 このH8S2368マイコンのデータシートの502ページ目(rjj09b0162_h8s2368.pdf)では、このレジスタの4ビット目はリザーブビットで、リードすると必ず”1”が読み込まれると書かれているのですが、なぜかそのビットが”0”で帰ってきます。 ”0xD0”ならばわかるのですが、これはなぜなのでしょうか?

  • 64bitでは動作しないソフトについて

    質問を読んでくださってありがとうございます。 昔やったゲームをダウンロードしてみました。 説明書に64bitでは動作しないと明記してありました。 私のPCは64bitです。 起動しようとすると。 「お使いのパソコンでは動作しません」と緑色の帯でOSから断られます。 互換性モードも全部だめで、なぜか強制的にwin95に設定されるのですが。 やはり動きません。 新しく32bitのPCを買う以外で、32bitの環境を仮想的に実現する方法はありませんか?

  • 64ビットとは

    最近のOSには32ビットと64ビットのものがあるように思えますが異なるものですか? 64ビットのCPUのパソコンにWindows 7をインストールする場合はWindows 7のインストーラが64ビットのものでないと使えないのでしょうか? 32ビットのCPUのパソコンに64ビットなどと書かれているOSをインストールした場合一般的には使えないのと32ビットで動作するのとどちらになりますか?

  • 32/64bit どちらを選べばいいでしょうか?

    新しいパソコンをネットで買うつもりなのですが Windows 7 Professional 32/64bit と選べるようなのですが どちらの方がいいのでしょうか? 値段は変わりません。 ほかのスペックは Core i7 2640M 2.8GHz(1MB) 8GB です。 32bitより64bitの方が動作が速い・軽いのでしょうか?

  • 16 ビット MS-DOS サブシステムについて

    16 ビット MS-DOS サブシステム ドライブ :\プログラム パス XXXX. インストール可能な仮想デバイス ドライバは DLL 初期化に失敗しました。アプリケーションを終了するには、[閉じる] を選んでください。 このエラーがでます。 http://support.microsoft.com/kb/314452/ja ここのサイトの解決方法1-6までやってみたのですが ウィルスバスター2008を起動すると、 エラーメーセージはでなくなりましたが、コマンドプロンプト がでてきて、また消えます。そしてウィルスバスター2008は 起動しませんでした。 systemroot/System32はマイコンの中にあるフォルダの事ですか??? よろしくお願いします

  • 組み込みマイコンでのソフトウェアによるリセット

    組み込み用マイコン向けのファームウェアをC言語で 書いています. ここで, ソフトウェア側からマイコンにリセットをかけ るにはどのような方法があるでしょうか? ※マイコン自体には内部的なハードウェアリセットを行 う機能は無いものとします. 素人考えで思いつく限りだと: ・リセットを行う場所の関数からmainまですべて戻る 経路を作っておく. main (または, mainを呼び出すスタートアップルーチ ンの部分)をループにしておき, その始めで内蔵周辺 機能のレジスタやstatic領域のメモリをすべて初期化 するようなコードを ひたすらハードコーディングしておく. (※static領域のメモリ初期化はどのみち行うからよ いとして, 内蔵周辺機能のレジスタをひたすら初期化 するのが面倒に思われます) ・ウォッチドッグタイマ機能があれば, わざとカウン タをオーバーフローさせてハードウェアリセットをか ける. ・外部リセット端子に何らかの形で出力ポートを 接続しておいて, 自分でハードウェアリセットをかける. 上記のものでもやればそれなりに動作しそうな気は しますが, どういう方法が一般的なのか知らないため どうしてよいか悩んでいます. どのようにリセットを行うのがスマートであるか ご教示いただけませんでしょうか?