No.2ベストアンサー
- 回答日時:
PICもH8も両方使っていますが、残念ながら共通で使えるCコンパイラはありません。
> そこでこれからC言語を勉強しようと思っていますがどれがいいのでしょうか?
一般的なC言語を学んでからPICやH8に触れることをお勧めします。なぜなら、マイコンが動作する仕組みを理解するにはそれなりに労力が必要だからです。そして、マイコンを動かすためのCのソースコードを書くには、C言語について十分理解している必要があります。具体的には、「ポインタ」の仕組みを理解しているかどうかが重要です。PICに初めて触れつつC言語を学ぶのは負荷が二重になるのでお勧めしません。まずはC言語を一通り学んでからPICに入りましょう。
本については電子工作の実験室(http://www.picfun.com/)で有名な後閑さんが「C言語によるPICプログラミング入門」(http://www.picfun.com/picbook5.html)を書かれており、私もこの本を持っているのですが、(内容は良書ですが)使用しているコンパイラがCCS社のPCM(http://www.datadynamics.co.jp/ccs/ccsorder.html)なのでお勧めできません。
CCSのCコンパイラはそこそこ安価で、組み込み関数が豊富で前述のとおり書籍も出ており、使い勝手がよさそうですが、あまりにも独自路線なので、普通のC言語だと思っていると「あれ?」ということが発生します。
例えば、
int型は 8bit
short型は 1bit
long型は 16bit
float型は 32bitだがフォーマットはIEEE 754ではなく独自形式
関数へのポインタは使用不可
など、なんだそれ?と思うような仕様になっています。
そこでお勧めするCコンパイラは、HI-TECH社のHI-TECH C PRO (Lite mode)です。
http://microchip.htsoft.com/products/compilers/p …
お金を払って使うPro modeに比べてフリーで使えるLite modeは多少機能の制限がありますが、趣味や勉強で使う分には十分です。インストール方法を日本語で説明してくれているサイトもありますので、英語版だからといってビビらなくてもよいでしょう。
http://www.ne.jp/asahi/air/variable/picmel/index …
ちなみに、Windows Vista上ではCCS PCMもHI-TECH Cもダメダメで、使うと必ず統合開発環境(MPLAB IDE)が落ちてしまいました。
まとめ。
* PICとH8、共通に使えるCコンパイラは無い。
* 普通のC言語を学んでからPICに進め。
* PIC用のCコンパイラはHI-TECH Cがお勧め。
この回答へのお礼
お礼日時:2008/11/02 20:00
遅くなりましたが回答ありがとうございます。やはり都合よくは行かないんですね。なかなか壁が高そうですがやはり基本から地道にいくのがベストみたいですね。Cコンパイラまで紹介していただきありがとうございます。
No.1
- 回答日時:
> そこでこれからC言語を勉強しようと思っていますがどれがいいのでしょうか?というよりそれぞれどう違うのでしょうか?
PICのコンパイラは癖が強く、方言もきついので、主だったものを実際に使ってみて、一番手になじむものを採用するのが一番です。
> 将来的にはPIC以外でもH8も使いたいと考えていますので共通で使用できるものはあるでしょうか?
無理です。
ソースコードレベルでの移植性もそれほど高くありませんので、共通化については余り期待しない方がよいでしょう。
この回答へのお礼
お礼日時:2008/10/28 22:19
なるほど。マイコンの種類が変わると言う事は国が変わるようなものなのですね。その国の言葉で無いとだめと言う事ですか・・。
回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- その他(言語学・言語) ピダハン語 2 2022/07/14 12:41
- 数学 C言語と将来性 7 2022/10/13 16:49
- 哲学 日本語は 言語類型として あたかも始原のごとくである 3 2022/05/29 04:41
- 韓国語 韓国語の文法についてです。 すごく初歩的な質問かもしれないのですが、가(または아)、 은 (または는 1 2023/08/07 04:45
- IT・エンジニアリング ITエンジニアの勉強時間や勉強方法について 初めまして閲覧いただきありがとうございます。 当方25歳 4 2022/06/09 18:51
- 哲学 日本語は論理表現にふさわしくないか の問題です 4 2022/06/25 03:56
- ダイヤルアップ Raspberry Piでアナログモデム経由で音声再生 1 2022/05/20 18:01
- その他(社会・学校・職場) 平均的日本人の頭は悪くはないはずですし、学校で習う内容が幼稚というわけでもないのに、世間には幼稚な大 7 2023/04/05 20:51
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ソフトの開発言語を調べる方法
-
unsigned long long 型のフォー...
-
パーサとコンパイラの違いって?
-
Visual Studio でmakefileを使...
-
C++でデスクトップGUIアプリ開...
-
<conio.h>?
-
Win98でcl.exe
-
gccコンパイラー
-
Win32のIME制御について
-
PICでのI2C通信でのマスタ、ス...
-
Visual C++ って何?
-
【COBOL】小さい字を大きい字へ...
-
C言語のIFについて
-
プログラミング言語の記法について
-
SPARC3はホントに64bitで動いてる?
-
C言語の2進数表記
-
LISPを今から覚えたい
-
PCの進化と計算プログラムの高速化
-
フリーのPrologコンパイラ
-
cmakeの役割について(C・C++...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
unsigned long long 型のフォー...
-
ソフトの開発言語を調べる方法
-
C++でデスクトップGUIアプリ開...
-
組み込みソフト。ROM領域にデータ
-
cc と gcc の違い
-
printfなど、標準関数のソース...
-
パーサとコンパイラの違いって?
-
C言語の規格
-
C++Builder → Visual C++ 移植...
-
<conio.h>?
-
COBOLの論理演算子について質問...
-
Σの計算について
-
リリースモードとデバッグモー...
-
COBOLのALPHABET...
-
C言語はC言語でできている?
-
24bit サイズの変数
-
Visual Studio でmakefileを使...
-
VC++の/Zm オプションについて
-
VBでVC++の処理速さを実...
-
C言語 main関数とsum関数の記...
おすすめ情報