閲覧総計:33920 (本日:7 昨日:1)
MikroCでPICプログラミングをする際のチョトした便利な情報を紹介します。
【目次】(項目をクリックすると飛べます)
MikroCでPICプログラムを作成する際、私は最初に小さなプログラムを作成
し、正しく動く事が確認出来たら、次の機能を追加し、育てて行く方法で
プログラミングして行きます。
この方法でプログラミングするには、今書いたプログラムを残して置き、
そのプログラムを基に、次の機能を追加して行きたいです。もしうまく
動かなければ、先のプログラムに戻ってやり直します。
試行錯誤しながらプログラムを育てて行きます。
これを行う際のコンパイル対象Cソースの切り替え方法が久世氏のページ
「ソース試行錯誤の近道を」に示されていますので紹介します。 06/11/27
http://www.kuze.jp/sfc/2006_sp/page13.html
【トラブルと解決の紹介】
本件に関し私が体験したトラブルは、「Project Summarry」の「C Files」フォルダを
開こうとしたら、下図の様な画面となり「+」マークが表示されず開けませんでした。
(解決方法)
作成中のプロジェクトを保存し、一度MikroCを終了し、再度MikroCを起動
する事でこの問題は解決できました。
「C Files」フォルダが開ける様になりました。
★この情報は役に立ちましたか?
MikroCでコンパイルを実施した際、ソースにエラーがあると画面最下段に
赤字でエラーメッセージが表示されます。
しかし、最初に表示される「Line/Column」情報はエラー発生場所を示して
いません。
(要望)
エラー発生場所を知りたい。
(解決方法)
赤字のエラーメッセージの表示行をダブルクリックします。
すると、「Line/Column」の表示が更新され、エラー発生場所を示します。
同時にカーソルがエラー発生場所に飛びます。 06/11/24
★この情報は役に立ちましたか?
MikroCにはPICによるLCD表示、I2C通信、USART通信他を簡単に実現できる数百もの豊富
な組込み関数が用意されています。
1.先ずはHelpの「目次」タグを
どの様な機能の組込み関数が用意されているかを見るには、Helpの「目次」タグの
最後の「mikroC Libraris」の中を閲覧します。
各種機能を利用する関数がたくさん用意されています。
2.次にHelpの「キーワード」タグを
全ての組込み関数をアルファベット順に眺める方法に、Helpの左メニュー上部の
「キーワード」タグをクリックし、全関数を表示させる方法があります。
ざっと数えて約500個もの組込み関数が表示されます。 06/11/22
★この情報は役に立ちましたか?
MikroC V6.2のHelpファイルの例題を眺めてみて感じるのは「例題は新しいPICの18F系
をターゲットに説明されている。」と言う事です。
(ちなみにMikroC V2.1のHelpファイルではP16F877Aを用いた事例で説明されてます。)
12F系、16F系利用者は Helpに掲載されている例題ソースが利用できない場面が増えて
来ました。
この問題の解決法として、MikroCの「Examples」フォルダ内にあるサンプルソース
を利用する方法を紹介します。
「Examples」フォルダは、Cドライブの Program Filesの中の Mikroelektronika
の中の mikroCフォルダの中にあります。
「Examples」フォルダの中には「P12F75」「P16F877A」「P18F452」「P18F8520」
「P18F8627」の5種のPICに対応するフォルダがあり、そのPICで稼働するプログラム
例題が掲載されています。 06/11/22
★この情報は役に立ちましたか?
MikroCでは使用PIC毎に対応した各種「定数」が設定されています。
PIC16F628Aを例に取ると PORTAはレジスタ定数として5が、T0IFは2が、T0IEは5が
設定されています。
自分が使用するPICの既設定定数を把握しておく事はPICプログラムを行う上で有用
だと思います。
既設定定数を見る方法は、
Cドライブの Program Filesの中の Mikroelektronikaの中の mikroCの中の
defsフォルダの中に、各PIC毎に *.Cファイルがあります。
そのファイルをエディタで開くと既設定定数を見る事が出来ます。 06/11/22
★この情報は役に立ちましたか?
【備忘】08/10/19
(方法1)
sprintf(outString, "%d", 25);
lcd_puts(outString);
(手法2)
sprintf(string,"%05lu",x); で代用かな?
sprintf()関数は大きなメモリを消費するので、メモリ不足の場合の対処法
(手法3)
演算の方がいいかも。
e0=x%10
e1=(x%100)/10;
e2=(x%1000)/100;
(手法4)
(x / pow(10, n-1)) % 10