⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 glitter.c

📁 通过车载终端采集GPS数据
💻 C
字号:
#include "glitter.h"

xdata GLITTER_CONTROL glitterCon;
xdata SMSDISPLAY_CONTROL smsdisplayCon;
xdata SMSDISPLAY_CONTROL phoneRingCon;//电话超时

/***************************************
*初始化程序
***************************************/
void glitter_init()
{
	glitterCon.status = GLITTER_NOUSE;
	glitterCon.timeout = 0;
	smsdisplayCon.status = GLITTER_NOUSE;
	smsdisplayCon.timeout = 0;
    phoneRingCon.status = GLITTER_NOUSE;
	phoneRingCon.timeout = 0;
}


/***************************************
*开始闪烁,在需要闪烁的时候调用
***************************************/
void start_glitter()
{
	glitterCon.status = GLITTER_WAITING;
	glitterCon.timeout = GLITTER_TIMEOUT;
}


/***************************************
*停止闪烁,在不需要闪烁的时候调用
***************************************/
void stop_glitter()
{
	glitterCon.status = GLITTER_NOUSE;
	glitterCon.timeout = 0;
}

/***************************************
*获取当前闪烁状态
*返回值:GLITTER_WAITING(正在等待,表示1s的间隔没有到)
		GLITTER_ACTION(1s间隔时间到,需要闪烁)
***************************************/
Byte get_glitter_status()
{
	return glitterCon.status;
/*	if (GLITTER_ACTION == glitterCon.status)
	{
		glitterCon.status = GLITTER_WAITING;
		return GLITTER_ACTION;
	}
	else
	{
		return glitterCon.status;
	}*/
}

/***************************************
*闪烁的计数处理
***************************************/
void glitter_timeout()
{
//	if (GLITTER_NOUSE != glitterCon.status)
	if (GLITTER_WAITING == glitterCon.status)
	{
		if (0 == glitterCon.timeout)
		{
			glitterCon.status = GLITTER_ACTION;
//			glitterCon.timeout = GLITTER_TIMEOUT;
		}
		else
		{
			//>0
			glitterCon.timeout--;
		}
	}
	if (GLITTER_WAITING == smsdisplayCon.status)
	{
		if (0 == smsdisplayCon.timeout)
		{
			smsdisplayCon.status = GLITTER_ACTION;
		}
		else
		{
			smsdisplayCon.timeout--;
		}
	}
    if (GLITTER_WAITING == phoneRingCon.status)
	{
		if (0 == phoneRingCon.timeout)
		{
			phoneRingCon.status = GLITTER_ACTION;
		}
		else
		{
			phoneRingCon.timeout--;
		}
	}
}


/***************************************
*在显示了短消息图标以后开始调用,每收到一个短消息以后都需要调用
***************************************/
void start_displaysms()
{
	smsdisplayCon.status = GLITTER_WAITING;
	smsdisplayCon.timeout = SMSDISPLAY_TIMEOUT;
}


/***************************************
*目前定为内部函数,停止短消息计数器工作
***************************************/
void stop_displaysms()
{
	smsdisplayCon.status = GLITTER_NOUSE;
	smsdisplayCon.timeout = 0;
}


/***************************************
*获取当前是否需要显示短消息图标
*返回值:GLITTER_WAITING(正在等待,表示1s的间隔没有到)
		GLITTER_ACTION(1s间隔时间到,停止显示短消息图标)
***************************************/
Byte get_smsdisplay_status()
{
	if (GLITTER_ACTION == smsdisplayCon.status)
	{
		stop_displaysms();
		return GLITTER_ACTION;
	}
	else
	{
		return smsdisplayCon.status;
	}
}

/******************************************
*每收到一个震铃消息需要调用此函数
******************************************/
void start_phonering()
{
	phoneRingCon.status = GLITTER_WAITING;
	phoneRingCon.timeout = PHONE_RING_TIMEOUT;
}

/*****************************************
*不需要震铃时调用此函数
******************************************/
void stop_phonering()
{
	phoneRingCon.status = GLITTER_NOUSE;
	phoneRingCon.timeout = 0;
}

/***************************************
*获取当前是否需要显示短消息图标
*返回值:GLITTER_WAITING(正在等待,表示1s的间隔没有到)
		GLITTER_ACTION(1s间隔时间到,停止显示短消息图标)
***************************************/
Byte get_phonering_status()
{
	if (GLITTER_ACTION == phoneRingCon.status)
	{
		stop_phonering();
		return GLITTER_ACTION;
	}
	else
	{
		return phoneRingCon.status;
	}
}

⌨️ 快捷键说明

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