掲示板


[記事リスト] [返信する] [新着記事] [過去ログ] [ワード検索] [留意事項] [管理用]

記事No 1132
タイトル スリープ時のタイマー1の動作
投稿日 : 2018/03/29(Thu) 08:19:32
投稿者 sontonsan
参照先
内部オシレーター LFINTOSC の使い方が判らず教えてください。
スリープ時もカウントして欲しいと考え作りました、ものを添付いたします。
スリープ部はまだかんせいしておりませんがよろしくお願いいたします。
//Timer1設定 
//基本設定OSCCON = 0b01101010;// 内部オシレーター 4MHz
T1CONbits.TMR1CS = 0b11;//
T1CONbits.T1CKPS = 0b00;//
T1CONbits.nT1SYNC = 0;//
T1CONbits.T1OSCEN = 1;
PIR1bits.TMR1IF = 0;
T1GCONbits.TMR1GE = 1;
TMR1H = 0x00;
TMR1L = 0x00;
PIE1bits.TMR1IE = 1;//Timer1割り込み許可
T1CONbits.TMR1ON = 1;//Timer1 スタート

//割り込み許可部
INTCONbits.PEIE = 1;//周辺割り込み許可
INTCONbits.GIE = 1;//全体割り込み許可

//
//割り込み関数
void interrupt ISR(void)
{
//1番
if (INTCONbits.IOCIF == 1){//状態変化割り込み判定
//
if (IOCBFbits.IOCBF5 == 1){//RB5の状態変化割り込み判定
__delay_ms(20);//チャタリング回避
if (PORTBbits.RB5 == 1){
// ボタンが離されたら先に進む(チャタリング防止)
__delay_ms(20);
while(PORTBbits.RB1 == 0);
__delay_ms(20);
//
IOCBFbits.IOCBF5 = 0;//状態変化割り込みポートクリアー
//LCDによる値確認
FAN_POWER = 0;//fan停止
LCD1602_POWER_ON();//LCD1602電源投入
led_chk^ = 1;
__delay_ms(5000);
LCD1602_POWER_OFF();//LCD1602電源遮断
}
}
INTCONbits.IOCIF = 0;//状態変化割り込みフラグクリアー
}
//1番終了
//
//2番手
if (PIR1bits.TMR1IF == 1){//Timer1割り込み判定
PIR1bits.TMR1IF = 0;//割り込みを初期化
TMR1H = 0x68;//再セット 10秒
TMR1L = 0xA2;
led_chk^ = 1;
}
//2番手終了
}

- 関連一覧ツリー (▼ をクリックするとツリーを一括表示します)


- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)
おなまえ
Eメール
タイトル
メッセージ
参照先
画像UP
暗証キー (英数字で8文字以内)
投稿キー (右画像の数字を入力) 投稿キー


- 投稿記事修正/削除フォーム -
処理 No 暗証キー

- WebForum -