timer.h

タイマー制御ライブラリのヘッダーファイル [詳細]


マクロ定義

#define T0_INT_XXX
 T0IE: 割り込みの制御
#define T0_INT_DIS   0b01111111
 Timer0の割り込み許可
#define T0_INT_EN   0b11111111
 Timer0の割り込み禁止
#define T0_SOURCE_XXX
 T0CS: タイマー0のクロック源
#define T0_SOURCE_INT   0b11011111
 内部クロック
#define T0_SOURCE_EXT   0b11111111
 外部クロック
#define T0_EDGE_XXX
 T0SE: タイマー0をカウントアップする外部入力の信号エッジ
#define T0_EDGE_RISE   0b11101111
 立ち上がりエッジ
#define T0_EDGE_FALL   0b11111111
 降下エッジ
#define T0_PS_XXX
 PS: タイマー0のクロックのプリスケーラの分周比
#define T0_PS_NO   0b11111111
 素通し, 1/1
#define T0_PS_1_1   0b11111111
 NOの別名, 1/1
#define T0_PS_1_2   0b11110000
 1/2
#define T0_PS_1_4   0b11110001
 1/4
#define T0_PS_1_8   0b11110010
 1/8
#define T0_PS_1_16   0b11110011
 1/16
#define T0_PS_1_32   0b11110100
 1/32
#define T0_PS_1_64   0b11110101
 1/64
#define T0_PS_1_128   0b11110110
 1/128
#define T0_PS_1_256   0b11110111
 1/256
#define ReadTimer0()   (TMR0)
 Timer0のカウンタ値の読み出し
#define WriteTimer0(timer0)   (TMR0 = timer0)
 Timer0のカウンタ値の書き込み
#define T1_INT_XXX
 TMR1IE,PEIE:割り込みの制御
#define T1_INT_EN   0b11111111
 Timer1の割り込み許可
#define T1_INT_DIS   0b11111110
 Timer1の割り込み禁止
#define T1_PS_XXX
 T1CKPS:タイマー1のクロックのプリスケーラの分周比
#define T1_PS_1_8   0b11111111
 1/8
#define T1_PS_1_4   0b11101111
 1/4
#define T1_PS_1_2   0b11011111
 1/2
#define T1_PS_1_1   0b11001111
 1/1
#define T1_SOURCE_XXX
 TMR1CS: タイマー1のクロック源
#define T1_SOURCE_EXT   0b11111111
 外部クロック
#define T1_SOURCE_INT   0b11111101
 内部クロック
#define T1_OSC_XXX
 T1OSCEN: 外部発信回路の動作指定
#define T1_OSC_EN   0b11111111
 外部発信器の稼動
#define T1_OSC_DIS   0b11110111
 外部発信器の停止
#define T1_SYNC_XXX
 T1SYNC: タイマー1用の外部クロックの内部クロックへの同期指定
#define T1_SYNC_DIS   0b11111111
 内部クロックへの同期
#define T1_SYNC_EN   0b11111011
 内部クロックへの同期なし
#define T1_GATE_XXX
 T1GINV,TMR1GE: タイマー1のカウント用クロックゲート制御
#define T1_GATE_HIGH   0b11111111
 886,690:
#define T1_GATE_LOW   0b01111111
#define T1_GATE_EN   0b11111111
#define T1_GATE_DIS   0b10111111
#define StartTimer1   WriteTimer1
#define ReStartTimer1()   (TMR1ON = 1)
#define StopTimer1()   (TMR1ON = 0)
#define T2_INT_XXX
 TMR2IE,PEIE:割り込みの制御
#define T2_INT_EN   0b11111111
 Timer2の割り込み許可
#define T2_INT_DIS   0b01111111
 Timer2の割り込み禁止
#define T2_PS_XXX
 T2CKPS:タイマー2のクロックのプリスケーラの分周比
#define T2_PS_1_16   0b11111110
 1/16
#define T2_PS_1_4   0b11111101
 1/4
#define T2_PS_1_1   0b11111100
 1/1
#define T2_POST_XXX
 TOUTPS:タイマー1のポストスケーラの分周比
#define T2_POST_1_16   0b11111111
 1/16
#define T2_POST_1_15   0b11110111
 1/15
#define T2_POST_1_14   0b11101111
 1/14
#define T2_POST_1_13   0b11100111
 1/13
#define T2_POST_1_12   0b11011111
 1/12
#define T2_POST_1_11   0b11010111
 1/11
#define T2_POST_1_10   0b11001111
 1/10
#define T2_POST_1_9   0b11000111
 1/9
#define T2_POST_1_8   0b10111111
 1/8
#define T2_POST_1_7   0b10110111
 1/7
#define T2_POST_1_6   0b10101111
 1/6
#define T2_POST_1_5   0b10100111
 1/5
#define T2_POST_1_4   0b10011111
 1/4
#define T2_POST_1_3   0b10010111
 1/3
#define T2_POST_1_2   0b10001111
 1/2
#define T2_POST_1_1   0b10000111
 1/1
#define ReadTimer2()   (TMR2)
 Timer2のカウンタ値の読み出し
#define WriteTimer2(timer2)   (TMR2 = timer2)
 Timer2のカウンタ値の書き込み

関数

void OpenTimer0 (unsigned char config)
 Timer0の起動
void CloseTimer0 (void)
 Timer0の停止
void OpenTimer1 (unsigned char config)
 Timer1の起動
void CloseTimer1 (void)
 Timer1の停止
unsigned int ReadTimer1 (void)
 Timer1カウンタの16ビット値を返す
void WriteTimer1 (unsigned int timer1)
 Timer1の16ビットカウンタを設定する
void OpenTimer2 (unsigned char config)
 Timer2の起動
void CloseTimer2 (void)
 Timer1の停止


説明

タイマー制御ライブラリのヘッダーファイル


マクロ定義

#define T0_INT_XXX

T0IE: 割り込みの制御

#define T0_INT_DIS   0b01111111

Timer0の割り込み許可

#define T0_INT_EN   0b11111111

Timer0の割り込み禁止

#define T0_SOURCE_XXX

T0CS: タイマー0のクロック源

#define T0_SOURCE_INT   0b11011111

内部クロック

#define T0_SOURCE_EXT   0b11111111

外部クロック

#define T0_EDGE_XXX

T0SE: タイマー0をカウントアップする外部入力の信号エッジ

#define T0_EDGE_RISE   0b11101111

立ち上がりエッジ

#define T0_EDGE_FALL   0b11111111

降下エッジ

#define T0_PS_XXX

PS: タイマー0のクロックのプリスケーラの分周比

#define T0_PS_NO   0b11111111

素通し, 1/1

#define T0_PS_1_1   0b11111111

NOの別名, 1/1

#define T0_PS_1_2   0b11110000

1/2

#define T0_PS_1_4   0b11110001

1/4

#define T0_PS_1_8   0b11110010

1/8

#define T0_PS_1_16   0b11110011

1/16

#define T0_PS_1_32   0b11110100

1/32

#define T0_PS_1_64   0b11110101

1/64

#define T0_PS_1_128   0b11110110

1/128

#define T0_PS_1_256   0b11110111

1/256

 
#define ReadTimer0 (  )     (TMR0)

Timer0のカウンタ値の読み出し

#define WriteTimer0 ( timer0   )     (TMR0 = timer0)

Timer0のカウンタ値の書き込み

#define T1_INT_XXX

TMR1IE,PEIE:割り込みの制御

#define T1_INT_EN   0b11111111

Timer1の割り込み許可

#define T1_INT_DIS   0b11111110

Timer1の割り込み禁止

#define T1_PS_XXX

T1CKPS:タイマー1のクロックのプリスケーラの分周比

#define T1_PS_1_8   0b11111111

1/8

#define T1_PS_1_4   0b11101111

1/4

#define T1_PS_1_2   0b11011111

1/2

#define T1_PS_1_1   0b11001111

1/1

#define T1_SOURCE_XXX

TMR1CS: タイマー1のクロック源

#define T1_SOURCE_EXT   0b11111111

外部クロック

#define T1_SOURCE_INT   0b11111101

内部クロック

#define T1_OSC_XXX

T1OSCEN: 外部発信回路の動作指定

#define T1_OSC_EN   0b11111111

外部発信器の稼動

#define T1_OSC_DIS   0b11110111

外部発信器の停止

#define T1_SYNC_XXX

T1SYNC: タイマー1用の外部クロックの内部クロックへの同期指定

#define T1_SYNC_DIS   0b11111111

内部クロックへの同期

#define T1_SYNC_EN   0b11111011

内部クロックへの同期なし

#define T1_GATE_XXX

T1GINV,TMR1GE: タイマー1のカウント用クロックゲート制御

#define T1_GATE_HIGH   0b11111111

886,690:

#define T1_GATE_LOW   0b01111111

#define T1_GATE_EN   0b11111111

#define T1_GATE_DIS   0b10111111

#define StartTimer1   WriteTimer1

 
#define ReStartTimer1 (  )     (TMR1ON = 1)

 
#define StopTimer1 (  )     (TMR1ON = 0)

#define T2_INT_XXX

TMR2IE,PEIE:割り込みの制御

#define T2_INT_EN   0b11111111

Timer2の割り込み許可

#define T2_INT_DIS   0b01111111

Timer2の割り込み禁止

#define T2_PS_XXX

T2CKPS:タイマー2のクロックのプリスケーラの分周比

#define T2_PS_1_16   0b11111110

1/16

#define T2_PS_1_4   0b11111101

1/4

#define T2_PS_1_1   0b11111100

1/1

#define T2_POST_XXX

TOUTPS:タイマー1のポストスケーラの分周比

#define T2_POST_1_16   0b11111111

1/16

#define T2_POST_1_15   0b11110111

1/15

#define T2_POST_1_14   0b11101111

1/14

#define T2_POST_1_13   0b11100111

1/13

#define T2_POST_1_12   0b11011111

1/12

#define T2_POST_1_11   0b11010111

1/11

#define T2_POST_1_10   0b11001111

1/10

#define T2_POST_1_9   0b11000111

1/9

#define T2_POST_1_8   0b10111111

1/8

#define T2_POST_1_7   0b10110111

1/7

#define T2_POST_1_6   0b10101111

1/6

#define T2_POST_1_5   0b10100111

1/5

#define T2_POST_1_4   0b10011111

1/4

#define T2_POST_1_3   0b10010111

1/3

#define T2_POST_1_2   0b10001111

1/2

#define T2_POST_1_1   0b10000111

1/1

 
#define ReadTimer2 (  )     (TMR2)

Timer2のカウンタ値の読み出し

#define WriteTimer2 ( timer2   )     (TMR2 = timer2)

Timer2のカウンタ値の書き込み


関数

void OpenTimer0 ( unsigned char  config  ) 

Timer0の起動

引数:
config,: 割り込み、クロック源、プリスケーラの設定
以下のマクロを&で組み合わせて指定

void CloseTimer0 ( void   ) 

Timer0の停止

void OpenTimer1 ( unsigned char  config  ) 

Timer1の起動

引数:
config,: 割り込み、クロック源、プリスケーラの設定
以下のマクロを&で組み合わせて指定

void CloseTimer1 ( void   ) 

Timer1の停止

unsigned int ReadTimer1 ( void   ) 

Timer1カウンタの16ビット値を返す

戻り値:
T1カウンタの値

void WriteTimer1 ( unsigned int  timer1  ) 

Timer1の16ビットカウンタを設定する

引数:
timer1,: 16ビットの設定値

void OpenTimer2 ( unsigned char  config  ) 

Timer2の起動

引数:
config,: 割り込み、クロック源、プリスケーラの設定
以下のマクロを&で組み合わせて指定

void CloseTimer2 ( void   ) 

Timer1の停止


Copyright (C) 2007-2008, マイクロファンネットショップ, 株式会社ピープルメディア