コンパイラ機能 - PIC12/16/18/24/33とdsPIC®
CCS CコンパイラはPIC12, PIC16, PIC18, PIC24/33とdsPIC® DSCデバイスをサポートしています。 コンパイラはPICレジスター特有の標準C演算子, ビルト-イン・ライブラリを含んでいます。 C言語からハードウエア機能へのアクセスするための含まれている主な機能:
- 標準 Cプリ-プロセッサー, 演算子とステートメント
- 1, 8, 16, 32, 48と64ビット整数タイプ
- 32, 48と64ビット浮動少数点.
- 標準1ビット・タイプ(Short Int)によりコンパイラが非常に効率のよいビット・オリエントされたコードを生成します。
- #BITと #BYTEによりC変数にレジスターをマップするために絶対番地に指定することが出来ます。
- ビット・アレイ
- 固定小数点
- 定数(文字列とアレイを含む)はROMに保存されます。
- 定数データのよりフレキシブルな操作
- 可変長定数文字列
- addressmod 機能 - どの様な種類のメモリー・デバイスにもユーザー定義アドレス・スペースを作ることが出来ます。
48ビットと64ビットの整数と浮動小数点はより簡単に状態でより大きい精度か、 より広い範囲多くを必要とする)計算を行います。関数再帰は繰り返しの処理アルゴリズムの ための新しい可能性を許容します。 大きく拡張されたオシレータ制御は他の旧CCS Cコンパイラの互換性を残しながら複数のクロック・ソース, PLLとの中から選択することが出来ます。
PCD[PCWHD]コンパイラ
(PIC24/33/dsPIC® DSCデバイスをサポート) は更に最適化されたプロセッサー
とペリフェラル制御を含んでいます。
307の内蔵関数はPIC® MCUハードウエアにアクセスし効率的で最適化されたコードを簡単に作成します。
タイマー, A/D, EEPROM, SSP, PSP, USB, I2C等々を含んでいます:
DSP拡張A/D変換, 16ビットと32ビット・タイマー, 独立した I2CとSPI, UART通信,
入力キャプチャ/出力コンペアとモーター制御PWMモジュールのためのビルト-イン・サポートが含まれています。
関数は下記のものを含んでいます:
- 内蔵ライブラリはすべてのチップのRS232CシリアルI/O, I2C, ディスクリートI/O と正確なディレイで機能します。
- シリアルI/O関数はGETC(), PRINTF()などの標準関数を使ってRS232CをI/Oのように使うことができます。
- フォーマットされたprintfでヘキサ(HEX)又は、デシマル(decimal)でのフォーマットと表示が簡単に出来ます。 *printf出力はどの関数にも当てはめることができます。
- 複数の I2CとRS232ポートを簡単に定義
- #use rs232() はgetcに対して最大待ち時間を指定するオプションを提供します。
- ハードウエア・トランシーバが可能な場合は相当するパーツに使用されます。 他の全てのケースはコンパイラによりソフトウエア・シリアル・トランシーバが生成されます。
- マイクロコントローラーのクロック・スピードにかかわらずPRAGMA指令を使って内蔵関数によってマイクロ秒,ミリ秒単位で設定できます。
- INPUT()やOUTPUT_HIGH()等の関数がトライステート・レジスターを適切にメンテナンス出来ます。
- コンパイラ指令が全てのI/Oでトライ・ステート・レジスターのリフレッシュ、又は、I/Oを可能な限り早くするように決定します。
- #USE SPI ()
- A/Dコンバータからの値を読み出すためのREAD_ADC()のようなシンプルな関数
- ソース・コード・ドライバーはLCDモジュール,キーパッド,24xxと94xxシリアルEEPROM, X10, DS1302 と NJU6355リアル・タイム・クロック, ダラス・タッチ・メモリー・デバイス, DS2223 と PCF8570, LTC1298 と PCF8591 A/Dコンバーター, 温度センサー, デジタル・ポット, I/Oエクスパンダー等々のドライバーやプログラムの サンプルを提供しています。
- 133以上の直ぐに使えるプログラムが含まれいます。
コンパイラはインライン,又は、セパレート関数を扱うことが出来ますので、再使用可能なレジスターにパラメータを通します。 ユーザーには見えませんがコンパイラはプログラムの構造を解析し, そして、RAMとROMの使用を最適化するためにコールツゥリーを処理します。 更に下記の機能を含んでいます:
- アセンブラー・コードをソースに直接,どこにでも入れることが出来,Cで定義された変数の参照が出来ます。
- 多重関数機能はパラメータの数とタイプの違いのみで、 同じ名前でいくつかの関数を持つことが出来ます。
- デフォルト・パラメータを関数で使用することが出来ます。 パラメータを関数に渡したくない場合は初期値が使用されます。
- インターラプトがサポートされており、正しいインターラプトがコールされたかを認識すると同時に コンパイラがすべてのスタートアップとクリーンアップを作成します。
- リファレンス・パラメータがコードの可読を向上させスタックのスペースをセーブするためインライン処理を効率よく行います。
- 関数内のパラメータの可変数
- リロケータブル・オブジェクト/マルチ・コンパイレーション・ユニット(*IDEのみ)
- 自動 #fusesコンフィギュレーション
- オーディオ・アプリケーションを簡単にするためI2S, AC '97 16ビットと 20ビット・プロトコルを使ったコーデック・ チップとの通信をサポートするデータ変換インターフェース(DCI)ペリフェラル
- 新しいプリプロセッサ宣言でより速いアクセスのために手動でデータ空間に変数を割り当てる 新しいデジタル信号処理の機能
- 高性能な難しいコードのためのDSPインライン・アセンブリの使用
CCSのコンパイラはWindows 95, 98, ME, NT4, 2000, XP, Vista, 7(64bit含む) 又は, Linux[リナック版が必要]に対応しております。 MPLAB® IDEを含むポピュラーなエミュレーターやプログラマーに対応した出力ヘキサとデバッグ・ファイルを 選択でき、そして、ソース・レベル・デバッグのためにウィンドウズ版はパワフルなウィンドウズでのデバッグ環境を提供しております。
- ユーザー登録による30日間無償アップデート
- CCSの前バージョンに対する互換性