int.c

来自「单工无线呼叫系统的全部源代码 AD9858」· C语言 代码 · 共 84 行

C
84
字号
#include "Global.h"
#include "Int.h"

extern unsigned int gFlag;
extern unsigned char gDataBuff[16];
extern int gCurDataPos2;
extern int gCurDataPos;
extern int gDataCount;
extern unsigned char gMSG;

//=========================================================================================
//
//=========================================================================================
void IRQ3(void) __attribute__ ((ISR)); 
void IRQ3(void)
{
	gMSG = (*P_IOB_Data&0xFF00)>>8;
	gDataBuff[gCurDataPos++] = gMSG;
	gDataCount ++;
	if(gCurDataPos == 16)
		gCurDataPos = 0;
	gFlag |= REV_MSG_OK;
	*P_INT_Clear=C_IRQ3_EXT2;
}
//=========================================================================================
//目前还没有纠错
//=========================================================================================
void DeLinearGroup(unsigned int pos1,unsigned int pos2)
{
}

unsigned char IsSync()
{
	return 0;
}
//=========================================================================================
//如果数据有效,保存在全局变量中
//=========================================================================================
unsigned char IsValidData()
{
/*	unsigned int tmpI=0;
	unsigned char c,tmpD=0;
	unsigned int i=0x80;
	for(c=0;c<8;c++)
	{
		if(tBuff2[c])
			tmpD |= i;
		i >>= 1;
	}
	i = 0x8000;
	for(c=8;c<24;c++)
	{
		if(tBuff2[c])
			tmpI |= i;
		i >>= 1;
	}
	if(tmpI == CRCCheck(tmpD))
	{
		gDataBuff[gCurDataPos2++] = tmpD;
		if(gCurDataPos2>=16)
			gCurDataPos2 = 0;
		gDataCount ++;
		return 1;
	}
*/
	return 0;
}
//=========================================================================================
//
//=========================================================================================
unsigned int CRCCheck(unsigned char dat)
{
	unsigned int crc = 0;
	unsigned char i;
	for(i=0x80; i!=0; i>>=1)
	{
		if((crc&0x8000)!=0)
			{crc<<=1; crc^=0x1021;}
		else
			crc<<=1;
		if((dat&i)!=0) crc^=0x1021;
	}
	return(crc);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?