マイクロテクニカ製品サポートFAQ
[一覧] [1つ前に戻る] [マニュアル及び各種ダウンロードページへ]
作ったプログラムが動かない・・正しく動作しない・・というご質問について
PicBasic Pro Compilerや、mikroCなどの開発言語でPICマイコンのプログラムを作成された時、プログラムが思ったように動かなかったり、予期しない動きをしたり、動作が不安定だったり・・・・という現象はよくあることです。

多くはADコンバーター関連などのレジスタの設定が不適切であることや、プログラムそのものの内容に間違いがある場合などです。

また、PICライターなどの製品で「書き込みができない」というご質問を頂くことがあります。しかし実際は「書き込みができていないのではなく」、「書き込みはできているが設定が間違っているために動作しない」ということがほとんどです。
ライター製品にはベリファイという機能があります。ベリファイはWindowsの書き込みソフトウエアで読み込んだHEXファイルと、実際に書き込んだHEXファイルについてすべて検証して、相違がないかを確認するものです。もし書き込みに失敗している場合には、必ずベリファイで「ベリファイエラー」が表示されます。ベリファイエラーが表示されない場合には「少なくとも書き込んだHEXファイルはすべてのアドレスにおいて正しく書き込みができている」ことを意味します。ベリファイエラーが表示されないでプログラムが動作しない場合には、書き込んだHEXファイルそのものに問題があるか、HEXファイルには問題はないが、コンフィギュレーションビットの設定に問題があるか、又は作ったプログラムそのものに問題があるかのいずれかで、いずれにしてもソフトウエア的な問題です。

まずは次のことを確認します。

●プログラムが動作しない!という場合

1.HEXファイルは正しく生成され、それが書き込みソフトウエアに正しく読み込まれていることを確認してください。書き込みソフトウエアには読み込んだHEXファイルを表示する機能があります。正しくHEXファイルが読み込まれているか確認してください。

2.コンフィギュレーションビットの設定がすべての項目で正しいことを確認してください。例えばセラミック発振子を使用している場合にはOscillatorの設定は"HS"です。"XT"だとプログラムは動きません。また外部発振子の周波数が8MHz以上ならば"HS"です。コンフィギュレーションビットの設定が間違っているとプログラムの内容が正しくてもプログラムは動作しないことがあります。

3.内蔵発振子で動作させたい場合は、デバイスの種類にもよりますがOSCCONレジスタの設定が必要です。コンフィギュレーションビットの設定でOscillatorの種類をINTOSC(内蔵発振子)に設定してもOSCCONレジスタの設定ができていないとプログラムは動作しません。

4.ハードウエアの構成は正しいですか?MCLRピンの処理は適切ですか?

5.ADコンバータ搭載のPICではADコンバータのアナログ電圧ピンとして設定されているピンは電源投入時アナログ入力となっています。デジタルIOとして使う場合には、デバイスの種類によりANSELレジスタや、ANSELAレジスタ、ADCON0レジスタなどを適宜設定しないと使えません。間違っていませんか?

6.どうしても動作しない場合には、mikroCの場合にはプロジェクトを1から作り直しましょう。mikroCではコンフィギュレーションビットの設定は、Project→Edit Project の中で行います。設定忘れていませんか?

1〜6まで確認して、それでも動作しない場合には製品を当方にお送り頂ければ、当方で動作確認を致します。すべての動作確認をして正常か故障箇所があるかを検査致します。製品往復の送料はお客様でご負担頂いております。
なお、これまでの実績として「エラーメッセージが表示されず」実際製品が本当に破損していた事例は1例もありません。本当に製品が破損している場合には「エラーメッセージが出て書き込みができない」という場合です。

どうぞ今一度1〜6について確認をして頂き、誤りが無いかをご確認ください。


当方にはお客様から「プログラムを作ったが動かない」「プログラムが期待通りに動かない」というご質問を頂くことがあります。
しかしながら当方では、プログラムのデバッグ作業は行っておりません。またプログラムの検証なども行っておりません。

組込プログラミングはハードウエア環境に大きく依存するため不確実な要素が大きすぎて正確なご案内ができないためです。当方では、コンパイラーソフトウエアそのもののご使用方法についてのご質問は承りますが、お客様の作ったソフトウエアに関するご質問については原則お答えできないことがありますのであらかじめご了承頂けますようお願い致します。

以上、何とぞ皆様のご理解とご協力を頂けますようお願い申し上げます。
オリジナル - FAQみたいです - 猫でいいです