- 締切済み
pic マイクロチップの疑問
PICについて、素人の疑問で恥ずかしいですが、教えて頂けませんか。 1)・12F675とか12F683とか物凄い多くの型番がありますがピン数が違えば同じ考えではできないと思いますが、ピン数が同じ例えば12F609のソースコードを参考に12F675に使うということはまったくありえない事でしょうか、それともある範囲のものは共通し、その型番にだけの部分だけ変更するというような方法があるのでしょうか、あるとしたらどのような点をポイントととして変更したらいいでしょうか。 2)・開発環境ツール MPLAB IDE で作成した 例えば、12F675で動作するソースコードがあったとして、これを MPLAB X IDEで作成したとしたらどの様なことになりますか、どこを注意してやればいいのでしょうか。 以上2点どなたか教えて頂けませんか。お願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- SortaNerd
- ベストアンサー率43% (1185/2748)
1) PIC10F, 12F, 16F, 18Fまでであれば、機械語(≒アセンブリ言語)は基本的に上位互換になっています。 低位の機種のためのコードを高位の機種で使うことは、その機種固有の部分(※後述)を書き換えれば、そう難しくありません。 また、PICはいくつかの分類(※後述)に分かれていて、その内では機械語が同一です。 この場合、やはりその機種固有の部分を書き換える必要はありますが、流用が多少楽になるかもしれません。 さらに、完全に同じコードで動く可能性もあります。 高位の機種のためのコードを低位の機種で使うことは、できるにしても面倒です。 上記の「分類」ですが、少々難解です。 よく「PIC12」と「PIC16」で分類されているのをよく目にしますが、これはピン数での分類であって、互換性を見るにはあまり役に立ちません。 機械語の互換性での分類はベースライン・ミッドレンジ・Enhancedミッドレンジ・ハイエンドとあります。 現在のところ、 ・10F2xx・12F5xx・16F5xxがベースライン (Enhancedベースラインはマイナーなので割愛) ・その他の10F・12F・16Fがミッドレンジ ・その中でも12F1xxx・16F1xxxはEnhancedミッドレンジ ・18Fがハイエンド です。今後5桁なども出てきて更に複雑化するようですが。 そして上記の「機種固有の部分」ですが、ポイントとしては、 ・RAM(汎用ファイルレジスタ)の量は機種ごとに異なる。 ・周辺機能が追加された場合、適切に初期化しないとそのままでは動かない事がある。 典型的にはADコンバータやコンパレータはOFFにしないと出力ができない。 の2点を押さえておくと良いかと思います。 2) 文章の意味がよく分かりません。 MPLABで作成したものがあり、それをMPLAB Xで作成するとどうなるか、ですか?
- AsarKingChang
- ベストアンサー率46% (3467/7474)
12系列同士や、16系列同士とか、 実際はほとんど同じですね。 アセンブルコードも実際はほとんど同じですが。 念のためアセンブルはしたほうが良いかもですね。 <ちなみ、私チップIDがあることをずっと気がつかずに、焼いても動かない!ってのw しばらくやって、ハマったことがありましたね。 609? 509系ですよね?多分。 675系は私的には、もう上位互換品程度に考えてますね。 ただ、AD有り無しや、インターナルOSCの設定などは、やらないと 怖いですが、初期化終わった後は、やっぱり、同じ?と見て良いかもですね。 MPLABは使ったことがないので、わかりません。。 私のほうは、コマンドラインでアセンブルして、AKIのライターで書き込んでいるので、 割と、基礎的なツールだけでやってますね。 SXシリーズ復活してほしい! 16F84互換だといいながら、アセンブリコードが違うというおかしなチップですが、 4命令同時実行=84が4クロック1命令なので、ちょうど1クロック1命令に近くなる &50Mhzという恐ろしい速度で動くチップでした。 多分50Mにこだわるなら、H8買うほうがましなのでしょうが。 そこは、私の自己満足ですね!。 最後に、ピン数すら、あんまり気にしてないです。私のほうでは。 RAしかないチップにRBがついたところで、使ってなければオープンですしね。 ということで、回答としては まったく気にしておらず、動けばそれでいいや!って感じで私は見てます。
お礼
ありがとう御座いました。 その後、教えて頂きましたことを参考にいろいろ挑戦してみました。 MPLABX を使って何とか・・・・とがんばってみました。何か分かりかけたような気がしています。 更に、勉強をしていきたいと思っております。 ご返事が遅くなり申し訳ありませんでした。 今後ともご指導の程お願いいたします。
お礼
ありがとう御座いました。 教えていただきましたことを参考に、いろいろと資料をあれこれあさりました。おかげ様で理解に大きく役立ちました。何となくPICの入口に立った気分になりました。これからも、勉強していきたいと思っております。 お礼の返事が遅くなりましたが、申し訳ありませんでした。 今後ともよろしくご指導の程お願いいたします。