📄 int.c
字号:
#ifndef _INT_H
#define _INT_H
#include "config.h"
void highIsr(void);
void lowIsr (void);
/**************************************************
功能:低优先级中断入口
入口:无
出口:无
***************************************************/
#pragma code low_isr_vector=0x00018
void low_isr (void)
{
_asm goto lowIsr _endasm
}
#pragma code
/**************************************************
功能:高优先级中断入口
入口:无
出口:无
***************************************************/
#pragma code isr_vector=0x0008
void isr (void)
{
_asm goto highIsr _endasm
}
#pragma code
/**************************************************
功能:低优先级中断服务程序
入口:无
出口:无
***************************************************/
#pragma interruptlow lowIsr
void lowIsr(void)
{
if(INTCONbits.TMR0IF)
{
//16M晶振,定时10ms
TMR0H=0XFF;
TMR0L=0XD7;
INTCONbits.TMR0IF=0;
}
INTCONbits.GIE=1;//允许中断
}
#pragma code
/**************************************************
功能:高优先级中断服务程序
入口:无
出口:无
***************************************************/
#pragma interrupt highIsr
void highIsr(void)
{
if(INTCONbits.TMR0IF)
{
//16M晶振,定时10ms
TMR0H=0XF0;
TMR0L=0X5f;
INTCONbits.TMR0IF=0;
time_t();
}
else if(INTCONbits.INT0F)
{
sysFlags.ringFlag=1;
INTCONbits.INT0E=0;
INTCONbits.INT0F=0;
}
INTCONbits.GIE=1;//允许中断
}
#pragma code
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -