• ベストアンサー

MPLAB C18のC言語について

趣味でPICをはじめて、いままではアセンブラ言語でプログラムを書いてきました。 こんどPIC18Fに挑戦しようと思っているんですが、PIC18FはC言語で書いた ほうがいいらしいですね。無料でMPLAB C18というC言語のコンパイラが使えるらしいですし。 C言語は勉強したことがないので、とりあえずC言語を勉強しなければならないんですが、 C言語っていろいろ種類があるんですね。C,C++,C#、あとvisual basic系のCとか。 なんだかさっぱりわかりません。 MPLAB C18のC言語にもっとも近いのはどれでしょうか。おしえてください。

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

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

>C,C++,C#、あとvisual basic系のCとか。 だいぶ誤解があるようです。 C言語は、ISOやJISの規格で決まっている言語規格の事で単にCと略することがあります。でこれは規格の名前なので、どこの会社がつくっても良いですし、オープンソース開発されているC言語のコンパイラもあります。 なのでA社のCやらB社のCやらいろんなのがありますが機能・規格はある程度統一されています。 で他のC++,C#、あとvisual basic系のCについて説明します。 C++はC言語を大幅に拡張した言語でオブジェクト指向を取り入れた言語です。C言語よりも重いので小型マイコンではまず使えません。C18もC++の規格は取り入れられていないはずです。 C#となるとさらに重く最新の言語でマイクロソフト社提案の言語です。DelphiやJavaやC++などをベースに設計された言語でC言語とは大幅に文法が異なります。Cと言う名前が付いているのはマイクロソフト社の戦略的ネーミングです。 あとvisual basic系のCはVisualStudioのCではないでしょうか? それとvisual basicは昔流行ったBASICの流れをくむオブジェクト指向言語ですが、これまたC言語とは文法は異なります。 それで、VisualStudioはマイクロソフトの開発環境のの名前で無料で手に入るのは、VisualBasic2010Express、VisualC#2010Express、VisualC++2010Expressです。 このうち、VisualC++2010ExpressはC言語かC++を扱うことの出来る開発環境ですので、ny36さんの目的にはかなっていると思います。 ただし、VisualC++2010ExpressとC18では使える入出力関数が違いますのでいきなりC18で始めてしまった方が混乱が無くて良いかも知れません。 「電子工作室」 http://www.picfun.com/mccframe.html ちなみに「PIC18FはC言語で書いたほうがいいらしいですね。」と言うのは絶対ではないです。アセンブラで組んでも構いませんが私はC言語のほうが楽だと思います。 それは普通のPICにも言えるんですけどね。

ny36
質問者

お礼

丁寧な回答ありがとうございます。 なんかみんなばらばらなんですね。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

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

>C,C++,C#、あとvisual basic系のCとか。 これらは何十何百とあるプログラミング言語のほんの一部でしか有りません。 ちなみに書き忘れましたがC#やC++もISOの規格として正式に登録されています。 VisualBasicは登録されていないかも。 「プログラミング言語人気TOP10の簡易解説」 http://www.mwsoft.jp/column/program_top10.html それとVisual C++ 2010 Expressの使い方。 「太田研究室 > Visual C++ 2010 Express プログラミング入門」 http://cvwww.ee.ous.ac.jp/vc10prog.html もしこれで重かったらこちらを。 「太田研究室 > Visual C++ 2008 Express Edition プログラミング入門」 http://cvwww.ee.ous.ac.jp/vc08prog.html これでも重かったらgccの方が良いでしょう。 C言語で使えるコンソール・ファイル入出力はPICでは基本使えないので覚えてもPICではあまり役立ちません。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • PICライタ (C言語→HEXファイル)

    今PICライタについて独学で勉強しています。 今ソフト的には秋月のPICライタおよび、MPLAB使ってます。 しかし、MPLABがC言語読み込めないため迷っています。 そこで質問なんですが (1) C言語をアセンブラ言語に変換する無料ソフトありますか? (2) (1)をあきらめたとしてアセンブラ言語で書くとして、アセンブラ言語でPICのプログラム書くための、わかりやすい本などご存知ですか? やっぱりCコンパイラを買うしかないのでしょうか??

  • PIC C言語でコード開始アドレスを指定する方法

    PIC18F2550用にMPLAB-IDEでC18コンパイラを使って、作ったファイルをUSB経由でブートしようとしています。下位番地にはブートローダが入っているため、プログラムの開始アドレスを800番地以降におきたいのですが、例えばアセンブラ言語のORG命令のようにコードの開始番地を指定することはできないでしょうか?

  • MPLABでC言語コンパイラーがつかえない・・。

    MPLAB(ver7.21)でC言語を用いてコンパイルを行い、PIC16F84Aにプログラムを書き込みたいと思っています。 さっそく、MPLAB(Ver7.21)とHi-tech社からPICC liteを手に入れ、作ってみることにしました。 簡単にLEDが光るものだけを作成したのですが、コンパイルするときに問題が・・・。 [プログラム] #include <pic1684.h> main(void){ TRISA = 0x0F; TRISB = 0x00; PORTB = 0x00; RBO = 1; } これで、ソースを作りプロジェクトにあわせ「Make」をしたところ下記のようなエラーが発生しました。 Executing: "C:\PICCLITE\BIN\PICL.EXE" -C -E"test.cce" "test.c" -O"test.obj" -Zg9 -O -ASMLIST -Q -MPLAB -18F8490 Error[000] : Unknown flag -18F8490 Halting build on first failure as requested. BUILD FAILED: Sat Oct 01 00:42:56 2005 プログラム自体のエラーではないのですが、特に見あたる理由がわかりません。 何が原因なのでしょうか?もしくは作り方が間違っているのでしょうか?

  • PICプログラム C言語とアセンブラ言語

    PIC18シリーズを使用して、プログラミングをしています。コンパイラはCCS-Cです。今まではすべてC言語で書いてきたのですが、アセンブラでしか設定ができない部分があり、今までのC言語のソースに加えてアセンブラを組み合わせようと思っているのですが、C言語とアセンブラを組み合わせることは可能なのでしょうか?

  • PICマイコンでC言語のデバッグ方法

    PIC 16Fでアセンブラでソフトを作っていたのですが、C言語でソフトを作りたいと思っています。開発用ソフトはMAPLABーXーIDEとCコンパイラはXC8を使います。 アセンブラでは、シミュレータモードでステップ動作ができたのでわかりやすくデバッグできたのですが、cではステップ動作の様なことができるのか、できない場合はどうしたらよいか教えてください。

  • C言語のコンパイラ

    C言語の勉強がしたいと思っているのですが、コンパイラっていうんですかね、それについて少し調べてみたら 無料なら"Borland C++ Compiler"で、有料ならなんかかなり高いっぽいけど"Visual C++"っていうのがあることが解りました。 よくプログラミング系のサイトの人で"Borland C++"のコンパイラを利用してとてもプログラミングがしやすくなったということが書いてあるのですが、"Visual C++"と比べたらどっちの方がいいんですか?(やっぱり有料の方?) もし人それぞれなら、みなさんは両方あったらどっちを使いますか? 初心者なら無料ので十分すぎるのだとは思いますが、プログラマーみたいな人から見るとどうなのかな~と思ったので教えていただけますか。 お願いします。 ついでに"Visual C++"って言語があるんですかね?何かそんな風に書いてあるところもあったもんで。 かさねがさねお願いします。

  • C言語等についての質問です。

    これまでMS-DOS上でBASICを使って趣味のプログラミング(統計関係の)をしてきましたが、今回本体が完全に壊れてしまい、やむなくWINDOWS-XPを使うことになりました。これを機会にWINDOWSのアイコンから起動するプログラム作りに挑戦してみたいのですが、 1)C、C++、C#、JAVAのうちいずれが良いのでしょうか? 2)上記1)で選択された言語の、フリーで使い勝手の良い開発環境またはエディター、コンパイラーがあれば、どうか推薦してください。 以上、どうか宜しくお願いいたします。

  • MPLAB Ver8.10の使い方を教えてください。

    PIC初心者です。 技術者向けカテですが、どこに書いてよいのか分からないのでここに質問させてください。 今までPA.EXEというアセンブラを使ってPICマイコンのプログラムをアセンブルしていたんですが、一度MPLABを使ってみようと思いDLしました。 しかし、DLしたものを起動させてみたものの何をどうしたらよいのかさっぱり分かりません(全て英語ですし・・・)。 何をどうしたらプログラムしたASMファイルをHEXファイルにアセンブルできるのでしょうか? MPLABを起動してからアセンブル完了までの流れを出来る限り詳しくわかりやすく教えてください(出来れば専門用語も分かりやすい言葉でお願いします)。

  • C言語でPICマイコン開発

    今までずっとアセンブラを使い開発していたのですが、XC8コンパイラ+MPLABで C言語を使い開発したいと思っています。 以下の点について教えていただければ助かります。 ・タイマー割り込みについて アセンブラで書く場合、プリスケーラの設定などから計算して 一回の割り込み内で何命令まで書けるかがわかるため割り込みの最中に 再度割り込みが発生するようなことは避けられますが Cで書く場合はどのように回避するのでしょうか? ・コンフィギュレーションの設定の仕方 アセンブラでは__CONFIG _HS_OSC & _CP_OFF ・・・のように書きますが Cではどのように書くのでしょうか。 C言語はわかるので取っ掛かりの部分がわかれば後はすいすいいけると思うのですが。。。 上記とあわせてお勧めの書籍やページなどがありましたら教えていただけないでしょうか。 よろしくお願いします。

  • MPLAB v8.36 でビルドできない!!

    MPLAB v8.36 でビルドできない!! MPLAB v8.36 で、led.cというCのファイルを 作るところまで行ったのですが、F10押してビルドすると、 Build C:\1PIC\led for device 16F84A Using driver C:\Program Files\HI-TECH Software\PICC\PRO\9.65\bin\picc.exe Make: The target "C:\1PIC\led.p1" is out of date. Executing: "C:\Program Files\HI-TECH Software\PICC\PRO\9.65\bin\picc.exe" --pass1 C:\1PIC\led.c -q --chip=16F84A -IC:\1PIC -P --runtime=default,+clear,+init,-keep,+osccal,-download,-resetbits,+stackcall,+stackwarn,+clib --opt=default,+asm,9 --warn=0 -D__DEBUG=1 --double=24 --addrqual=ignore -g --asmlist "--errformat=Error [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s" Error [141] C:\1PIC\led.c; 1.18 can't open include file "16f84a.h": No such file or directory ********** Build failed! ********** と出ます。 自分で調べて、原因はファイル名が間違っているか インクルードパスが通ってないとわかりましたが どのようにしたら解決できるかわかりません。 つい先日、アセンブラでやったときはできたんですが、 学校ではCでやることになったのでCでやってみましたが できませんでした・・・。 どなたか解る方、具体的な解決方法を教えてください! 調べたけど解らなかったんです・・・ 使用機器などは ●AKIープログラマー ver4 ●MPLAB IDE ver8.36(Hitech PICC Pro 9.65付属) ●MPLAB 8.36についてるHitech PICC Pro 9.65をCコンパイラとして使用 AKI-プログラマを使う前に、つまずいてしまった・・・ 一人で調べてもラチがあかない・・・ 幼稚な質問で恐縮ですが 初心者ということでそこは勘弁願います・・・

このQ&Aのポイント
  • DCP-J562Nの紙送りローラーが汚れていて掃除してもエラーになる問題について、正しい掃除方法を教えてください。
  • DCP-J562Nの紙送りローラー掃除に関するトラブル解決方法について、お困りの方に役立つ情報をまとめました。
  • DCP-J562Nの紙送りローラーの掃除方法と注意点について分かりやすく解説します。
回答を見る

専門家に質問してみよう