-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTimer.c
More file actions
34 lines (29 loc) · 701 Bytes
/
Timer.c
File metadata and controls
34 lines (29 loc) · 701 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include "system.h"
uint16_t Timer0_Setting_Count;
uint16_t Timer0_Setting_Vaule;
void HAL_Init_Timer0() {
TMR0CS = 0; //³»ºÎŬ·°
PSA = 0; //Prescale»ç¿ë
OPTION_REGbits.PS = 0b011; // 1/16
Timer0_Setting_Count = 0;
Timer0_Setting_Vaule = 0;
}
void Timer0_Start(uint16_t setValue) {
TMR0 = 0;
TMR0IE = 1;
Timer0_Setting_Vaule = setValue;
Timer0_Setting_Count = setValue;
}
void Timer0_Stop() {
TMR0IE = 0;
}
void HAL_ISR_Timer0() {
if(Timer0_Setting_Count > 0){
Timer0_Setting_Count--;
if(Timer0_Setting_Count == 0) {
Timer0_Setting_Count = Timer0_Setting_Vaule;
//Timer0_Expire_Task(); //app.c
TaskPost(Event_TimerExpired_TaskID);
}
}
}