• ベストアンサー

MplabでEEPROMの読み出し

Mplab 8.92とPICkit3です。 PIC16F1827でプログラム内でEEPROMに書き込みをしています。 その内容を確認するために Mplabで (1)Programmer---Read (2)View---EEPROM で確認しています。 一度Readすると0だったものが、もう一度Readすると3と赤く表示 されました。 何度読みだしてもEEPROMの内容が変化するはずはないのに なぜ変化するのでしょうか? それとも私のMplabの使い方が間違っているのでしょうか? ご教授お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • koujikuu
  • ベストアンサー率43% (428/992)
回答No.1

検証出来る環境が無いので、推測になりますが PICが定期的にEEPROMにデータを書き込む場合、MPLAB の READ と READ の間に PIC がプログラムを実行している可能性があります。

Kuma2000
質問者

お礼

回答ありがとうございます。 >PIC がプログラムを実行している可能性があります。 PICを実機で動作させ、その後PICを実機からはずして Mplab上でReadしているのです。

関連するQ&A

  • MplabのRead_EEPROM

    Mplab8.92+PICkit3でPICのプログラムをしています。 ポート入力をPIC内蔵のEEPROMに書込むようなプログラムを作り ターゲットボード上で動作させた後、PICをボードから抜き取り Mplab上でReadしViewメニューのEEPROMで見ると ポートの入力とは異なる値になっています。 (ボードの入力はプルアップした上で固定してあります。) しかし、A社のプログラマーでReadすると ポート入力がEEPROMに正しく書込まれています。 (A社のプログラマーはサポートのデバイスが少ないので 現実的には使えないのですが。) 色々試してみると プログラムとして、「PIC内蔵EEPROMデータメモリに初期値として書込んだデータ」は 正しく、書込み、読取できましたが ボード上で動作しないと確定しないようなデータ (ポートの入力、カウント回数・・・等) は、正しく書込まれている (プログラムの動作から確認すると) けれどもMplab上のReadでは正しく表示されませんでした。 MplabのReadとはこういうものなのでしょうか? (私の推測ではMplabのRead-View-EEPROMはCPUを実機で 動作させることなくパソコン上でシュミレーションするための もののように思えてきたのですが・・・) それとも、何か設定すれば可能になるならば 教えてください。 私の場合Mplabを使う場合 シュミレーションとかは使いません。 コンパイルしてCPUに書込み(Program)するだけです。

  • PIC16F1827のEEPROMへの書込み

    PCM V5.0(PIC用CCS社コンパイラ)を Mplab8.92に組込み、PICkit3を使ってプログラムしています。 PIC16F1827のEEPROMへの書込みがうまくいきません。 RAは入力ポートで固定してあります。 RBは出力ポートでLEDが接続してあります。 テストプログラムは一回のみの動作です。 実機で動作させると RAは固定してあるので当然(4)でLEDが点灯しますが、 実機からCPUを抜き取りMplab上でReadすると EEPROMのアドレス0,1,2は異なるデータであり 動作させるたびに違うデータが書込まれています。 しかし (1) a0=35h (2) a1=a6h (3) a2=93h と定数にすると EEPROMのアドレス0,1,2は正しいデータが 書込まれています。 Q1. a0,a1,a2をポート入力とする場合は CPU自体に何か設定する必要があるのでしょうか? それともプログラムに工夫が必要なのでしょうか? いままで使っていたPIC16F88では このようなことはなかったと思うのですが・・・。 ----- テストプログラム ----- a0 = RA; //(1) write_eeprom (0,a0); a1 = RA; //(2) write_eeprom (1,a1); a2 = RA; //(3) write_eeprom (2,a2); if (a0 == a1 && a1==a2) //(4) RB =255; else RB =0;

  • PICマイコン(PIC16F73B)書込みについて

    PIC16F73BにCコンパイラで作ったプログラムを書き込もうとしますがエラーが出て書き込みできません。理由と対処方法を教えてください。  ちなみに (1)プログラマーはMPLAB PM3 (2)使用マイコンはPIC16F73B (3)書き込みを行ったときのエラーは   PM3 is unable to read device - Current operation is aborted.  が表示されます。 (4)Read及びVerifyを実施すると以前書き込みができていたため、   Read successfully.   Verify Succeeded.  が表示されます。 なぜ、ReadやVerifyができてWritwができないか不明。 PIC16F73BのBは何か特殊で書き込み等できないのでしょうか? 以上、ご教授、よろしくお願いします。

  • MPLAB IDEのデバッグ書き込みについて

    MPLABで簡単なプログラムを作製し、デバッグを行おうとしたら、デバッグの書き込みで失敗してしまいます。エラーの内容としてはDebug executiveの領域がおかしいみたいな感じでした。 通常の書き込みは問題なくできます。また、PCを替えて全く同じプログラムでデバッグを行うと問題なく書き込めます。 PCはWindows 7、デバッガはPICkit3です。また、デバッグができたPCはWindows XPです。 MPLABは何度かアンインストール→インストールをしています。 分かり難い文章になってしまいましたが、何かお分かりの方がいらっしゃいましたらご教授下さい。

  • PICkit3が認識されません!

    PIC16F1823のプログラムをPCに 読み込ませたくてPICkit3を購入しました。 OSはWindows7です。 MPLAB IDEv8.91をダウンロードして開いて ConfigueでPIC16F1823を選択して、Programmer PICKit3を選択するとPK3Err0045:というエラー の表示になります。 色々検索して、7では認識しない事があるという 情報があり、windows XPを使えるようにして MPLAB IDE v8.92をダウンロードしたのですが、 No PICKit3 Connektedと表示されます。 その後、PICKit3 v3.10というのも必要なのか? と思いダウンロードして開いてみたら画像の 表示になりました。 何をしてみたらいいのか訳が分かりません。 ご教授下さい!

  • PIC EEPROM

    CCSでEEPROMへの書き込み読み出しかたがわかりませんどなたか詳しく例題などを付けて教えて下さい。お願いします。またPICの種類によって文法が変わるのでしょうか?16F627Aでやりたいのですが。

  • picマイコンの中のソースコードを確認したい

    多くの方に教えて頂き、やっと書き込みができました。、pic16f84aのマイコンに何度も変更して書き直しました。その後,偶然に突然正常にマイコンが動作しました。 何度も変更して書き直したためどこを直した時のゴードが良かったのかその後わかりません。 別のpic16f84aのマイコンに書き込んで試みるも相変わらず動作しません。 この動作したpic16f84aのソースコードを確認する方法はありませんか、方法があるとしたらその方法を教えて頂けませんか。お願いいたします。 環境: windows8  MPLAB X IDE XC(8)  pickit3 pickit対応ICSP書き込みアダブター  pic16f84a

  • PICで静電容量方式タッチセンサの使い方

    PIC初心者ですm(_ _)m MPLAB IDE v8.80で、C言語でプログラムして、 PICkit3を使ってPIC12F615に書き込んでいます。 PIC12F1822を使って、タッチセンサを作成してみたいのですが、 いろいろ調べたのですが、レジスタの設定等、検出手順など全く分かりません(T_T) よろしくお願いしますm(_ _)m

  • PICに、プログラムができなくて困っています。

    PICkit2とブレッドボードを使って、PICにプログラムしようと思っています。ソフトは、PICkit2 Programmer v2.55です。ソフトを開くとPICkit2は認識してくれるのですが、PICの方は認識してくれません。 ブレッドボードの配線は本を見ながらやったので、配線ミスはないと思います。PICは、PIC10F200を使用しています。 PICを認識させるには、どうすれば良いのでしょうか? 宜しくお願いします。

  • PIC16F84AにAE-PICPGM USB1で書き込みをしたのです

    PIC16F84AにAE-PICPGM USB1で書き込みをしたのですが・・・ 先日、秋月電子通商でPIC書き込みボード「AE-PICPGM USB1」を購入し、PIC16F84Aに書き込みをしたのですが、ブレッドボード上で動作しません。 開発環境は以下のとおりです。 開発ソフト:MPLAB IDE ver.8.56 書き込みボード:AE-PICPGM USB1(秋月) プログラマ:PICkit2 programmer コンパイラ:HI-TECH C compiler ver.9.71a OS:windows 7 Home premium (64bit) MPLAB上ではコンパイルでき、hexファイルも生成されます。 プログラマ上でhexをインポートすると「No configuration ・・・」と表示されますが、MPLAB側で「Export file」で出力してやると、問題なくインポートできます。 書き込み、ベリファイチェックともに特にエラーメッセージも出ません。 コンパイラを見てもわかるように、プログラムはC言語で記述しています。 内容はLEDを点灯させる(出力ポート:1)だけの単純なものです。 この1週間格闘しましたが、動作する気配もなくモンモンとする毎日です。 どなたかこの現象について知見のある方、ご教示ください。