● リファレンス(超暫定版)
リファレンス(ほとんどヘッダファイル!)を簡単に示します。なお、サブルーチンもまだまだ暫定版です。
Arduino(アルドゥイーノ)のスケッチに似せて書けることを目標にしていますが、スケッチがC++に基づくのに対して
XC8はC言語であり、#defineによるトリッキーな表現はあまり使用したくないためほぼ互換性はありません。
また、メインルーチンに明確な初期化ルーチンが必要です。
#define HIGH 0x1
#define LOW
0x0
// for
PIC
#define INPUT 0x1
#define OUTPUT 0x0
#define
INPUT_PULLUP 0x2
#define
true 0x1
#define false 0x0
IOポートの入出力方向[pMd]を定める。
void
pinMode(uint8_t pNo, uint8_t
pMd);
IOポートをHIGH/LOW[pSt]にする。
void digitalWrite(uint8_t pNo, uint8_t
pSt);
IOポートの状態(HIGH/LOW)を読む。
int digitalRead(uint8_t
pNo);
※pNoはPA0を0とし、PB0は8、PE0は8*4+0とします。
よって
PC5は8*2+5=21です。
現在はよく使うポートしか使用できません。
サブルーチンへの追加は簡単です。
アナログポートの値を読む。12bit値。Ch =
0,1,2,3
int
analogRead(uint8_t
Ch);
C言語準拠のprintf : LCDへの表示に用いる。
LCDの表示位置の設定(列、行で0から始まる)
void
lcd_setCursor(unsigned char col, unsigned char
row);
LCD画面の消去
void
lcd_clear(void);
ウエイト(ms単位):ただし、forループ使用のために遅延有。
void
delay(unsigned long ms);
ウエイト(μs単位)
void delayMicroseconds(unsigned int
us);
---------------------------------------------------------
組み込み値
これらの定義を使用することができます。
詳しくは使用例で。
#define
LEDF1 8*4+2 // RE2
#define SWF1 8*4+0 // RE0
#define
SWF2 8*4+1 //
RE1
---------------------------------------------------------
全般
uint8_t とは 符号なし1バイト整数のことで
ここではunsigned char と同じです。