close
使用Timer 有點類似寫開關,先在外面插一支旗子,由那支旗子來決定開關是要開還是關。
然後Timer 會一直增加數值,等數值滿了之後,就把旗子設定為 1
之後一定要把 Timer 裡面的值清除,之後再重新增加數值...不斷的循環下去...
#include <p33fxxxx.h>
#include <timer.h>
int main()
{
// 將IO Port設定成數位輸出,並指定I/O Port狀態。
TRISBbits.TRISB5 = 0;
LATBbits.LATB5 = 0;
// Timer1初始化 : 使用MPLAB C30 Timer Function對Timer1進行設定。
OpenTimer1( T1_ON & T1_IDLE_CON & T1_GATE_OFF
& T1_PS_1_256 & T1_SYNC_EXT_OFF & T1_SOURCE_INT
, 7000 ); // 累加到 7000,IFS0bits.T1IF 會被設定為 1
while( 1 )
{
// To Do : Polling Timer1中斷旗標。
if( IFS0bits.T1IF == 1 )
{
// To Do : 清除Timer1中斷旗標。把 7000 重新設定為 0, 他又會重新開始累加...
IFS0bits.T1IF = 0;
// 改變IO Port狀態(Toggle)。
LATBbits.LATB5 = !LATBbits.LATB5;
}
}
}
全站熱搜