ccpisr.c

来自「Hitech microchip PIC C18 Compiler」· C语言 代码 · 共 58 行

C
58
字号
#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 + =
减小字号Ctrl + -
显示快捷键?