📄 ccpisr.c
字号:
#include <pic18.h>#include "ccp.h"#include <stdio.h>void interrupt ISR(void){ if((RBIE)&&(RBIF)) { if(CHANGE_MODE1) /*change current mode of CCP1*/ { CURRENT_MODE1++; if(CURRENT_MODE1>=12) CURRENT_MODE1=0; /*PWM is not tested by this program*/ if (CURRENT_MODE1==1) CURRENT_MODE1++; /*CCP1CON=1 is reserved*/ if ((CURRENT_MODE1==2)||(CURRENT_MODE1>=8)) /*change IO direction for pin C2*/ { TRISC=TRISC&0xFB; } else { TRISC=TRISC|0x04; } } if(CHANGE_MODE2) /*change current mode of CCP2*/ { CURRENT_MODE2++; if(CURRENT_MODE2>=12) CURRENT_MODE2=0; /*PWM is not tested by this program*/ if (CURRENT_MODE2==1) CURRENT_MODE2++; /*CCP2CON=1 is reserved*/ if ((CURRENT_MODE2==2)||(CURRENT_MODE2>=8)) /*change IO direction for pin E7*/ { TRISE=TRISE&0x7F; } else { TRISE=TRISE|0x80; } } RBIF=0; UPDATE_REQUIRED=1; } if((CCP1IE)&&(CCP1IF)) /*interrupt from CCP1 has occured*/ { CCP1INT=1; if (CURRENT_MODE1==11) SPECIAL_EVENT1=1; /*if special even occured set SPECIAL_EVENT1*/ CCP1IF=0; } if((CCP2IE)&&(CCP2IF)) /*interrupt from CCP2 has occured*/ { CCP2INT=1; if (CURRENT_MODE2==11) SPECIAL_EVENT2=1; /*if special even occured set SPECIAL_EVENT2*/ CCP2IF=0; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -