亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? callbacktimerfunction.c

?? AVR2560 Sample C Code (CallBack)
?? C
字號:
//###
//###
//### Callback Timer Function.
//###
//### 訣眉疙: 茄憊哪腔磐厚憐
//### 老  磊: 2009斥 2巋
//### 俺  慣: 扁賤評厘 炔犁籃(biometric@naver.com)
//### 汲  疙: CallBack Timer Function 薦青闌 困秦 Timer3甫 泅犁 葷儈竅絆 樂瀾.
//###
#include <avr/interrupt.h>
#include <stdlib.h>
#include <stdio.h>
#include "uart.h"
#include "global.h"
#include "callbacktimerfunction.h"

#include "../../avrlib/buffer.h"
#include "../../avrlib/rprintf.h"

#define __CB_DELETE			2
#define __CB_RUN			1
#define __CB_PAUSE			0

struct __tag_CallBack
{
	unsigned short			uHandler;
	unsigned short			uTimeOut;
	unsigned short			uBKTimeOut;
	unsigned short			bIsState;
	CallBackFunc 			pFunc;
	struct __tag_CallBack*	pNext;
};

typedef struct __tag_CallBack stCB;

stCB* 	G_CallBackHead;

//###
//### CallBack Function扁瓷 葷儈闌 困茄 檬扁拳 竊薦.
//###
void InitCallBack(unsigned short uGenTime)
{
	cli();

	TCCR3B&=~0x07;
	TCCR3B|=0x01;
	TIMSK3|=(0x01<<TOIE3);
	TIFR3|=(0x01<<TOV2);

	//F_CPU

	TCNT3H=0x00;
	TCNT3L=0xFF;

	G_CallBackHead=NULL;

	sei();	
}

//###
//### Create CallBack Function.
//### 薦青且 CallBack Function闌 Linked List肺 備己茄促.
//###
//### 傈崔牢磊:
//###	pFunc: CallBack Function Point.
//###	uTimeOut: CallBack Function甫 薦青且 Time 埃拜 1ms竄困.
//###	uHandler: CallBack Function俊 何咯且 Handler 鍋齲.
//### 府畔藹:
//###	積己 角菩矯: -1
//###	己傍矯: 積己茄 Handler藹闌 登倒赴促.
//###
unsigned short CreateCallBackFunc(CallBackFunc pFunc, unsigned short uTimeOut,unsigned short uHandler)
{
	stCB* 	newCB;
	stCB* 	prevCB;

	if(G_CallBackHead == NULL)
	{
		newCB = (stCB*)malloc(sizeof(stCB));
		if(newCB==NULL) return -1;
		newCB->pFunc = pFunc;
		newCB->uBKTimeOut=newCB->uTimeOut = uTimeOut;
		newCB->uHandler = uHandler;
		newCB->bIsState=__CB_RUN;
		newCB->pNext = NULL;
		G_CallBackHead = newCB;
	}
	else
	{
		newCB = G_CallBackHead;
		while(newCB)
		{
			//###
			//### Handler啊 吝汗登絆 昏力 夸沒撈 等巴撈 酒聰扼擱 扁糧 瀝焊甫 Update.
			//###
			if(newCB->uHandler == uHandler && newCB->bIsState!=__CB_DELETE)
			{
				newCB->pFunc = pFunc;
				newCB->uBKTimeOut=newCB->uTimeOut = uTimeOut;
				newCB->uHandler = uHandler;
				break;
			}
			else
			{
				prevCB=newCB;
				newCB=newCB->pNext;
			}
		}
		if(newCB == NULL)
		{
			newCB=(stCB*)malloc(sizeof(stCB));
			if(newCB==NULL) return -1;
			newCB->pFunc = pFunc;
			newCB->uBKTimeOut=newCB->uTimeOut = uTimeOut;
			newCB->uHandler = uHandler;
			newCB->bIsState=__CB_RUN;
			newCB->pNext = NULL;
			prevCB->pNext=newCB;
		}
	}
	return uHandler;
}

//###
//### 瘤瀝茄 CallBack Function闌 Delete茄促.
//###
//### 傈崔牢磊:
//###   uHandler: 昏力且 CallBack Function Handler.
//###
int DeleteCallBackFunc(unsigned short uHandler)
{
	stCB* delCB;
	stCB* prevCB;
	if(G_CallBackHead != NULL)
	{
		prevCB=G_CallBackHead;
		delCB=G_CallBackHead;
		while(delCB)
		{
			//###
			//### 昏力 夸沒撈 登瘤臼籃巴俊 茄秦 薦青茄促.
			//###
			if(delCB->uHandler==uHandler && delCB->bIsState!=__CB_DELETE) { delCB->bIsState=__CB_DELETE; return 0; }
			prevCB = delCB;
			delCB=delCB->pNext;
		}
	}
	return -1;	
}

//###
//### 瘤瀝茄 CallBack Function闌 淚矯 瀝瘤 矯挪促.
//###
//### 傈崔牢磊:
//###   uHandler: 悼累闌 烙矯 瀝瘤矯懦 CallBack Function Handler.
//###
void PauseCallBackFunc(unsigned short uHandler)
{
	stCB* nextCB;
	if(G_CallBackHead != NULL)
	{
		nextCB=G_CallBackHead;
		while(nextCB)
		{
			//###
			//### 昏力 夸沒撈 登瘤臼籃巴俊 茄秦 薦青茄促.
			//###
			if(nextCB->uHandler==uHandler && nextCB->bIsState!=__CB_DELETE) { nextCB->bIsState=__CB_PAUSE; break; }
			nextCB=nextCB->pNext;
		}
	}
}

//###
//### 瘤瀝茄 CallBack Function闌 悼累矯挪促.
//###
//### 傈崔牢磊:
//###   uHandler: 悼累闌 犁扁且 CallBack Function Handler.
//###
void RunCallBackFunc(unsigned short uHandler)
{
	stCB* nextCB;
	if(G_CallBackHead != NULL)
	{
		nextCB=G_CallBackHead;
		while(nextCB)
		{
			//###
			//### 昏力 夸沒撈 登瘤臼籃巴俊 茄秦 薦青茄促.
			//###
			if(nextCB->uHandler==uHandler && nextCB->bIsState!=__CB_DELETE) { nextCB->bIsState=__CB_RUN; break; }
			nextCB=nextCB->pNext;
		}
	}
}

//###
//### CallBack竊薦 膠納臨傅儈 Timer3 Interrupt.
//###
SIGNAL(SIG_OVERFLOW3)
{
	static stCB* prevCB;
	static stCB* nextCB;

	if(G_CallBackHead != NULL)
	{
		prevCB=nextCB=G_CallBackHead;
		while(nextCB)
		{
			if(nextCB->bIsState==__CB_RUN)
			{
				if(nextCB->uTimeOut==0)
				{
					//###
					//### 秦寸 CallBack竊薦甫 角青茄促.
					//###
					nextCB->pFunc();
					nextCB->uTimeOut=nextCB->uBKTimeOut;
				}
				else nextCB->uTimeOut--;
			}
			else if(nextCB->bIsState==__CB_DELETE)
			{
				//###
				//### 昏力甫 夸沒茄巴撈骨肺 昏力茄促.
				//###

				if(nextCB==G_CallBackHead) G_CallBackHead=nextCB->pNext;
				else prevCB->pNext=nextCB->pNext;	
				free(nextCB);
			}
			prevCB=nextCB;
			nextCB=nextCB->pNext;
		}
	}
	
	TCNT3H=0x00;
	TCNT3L=0xFF;
	TIFR3|=(0x01<<TOV2);

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99精品久久99久久久久| 成人av电影在线播放| 亚洲欧美激情小说另类| 欧美激情资源网| 久久久不卡网国产精品二区 | 2021国产精品久久精品| 欧美精品123区| 欧美乱妇一区二区三区不卡视频| 色婷婷精品大在线视频| 色综合天天性综合| 欧美性受极品xxxx喷水| 欧美婷婷六月丁香综合色| 欧美三级日韩在线| 欧美一区二区三区在线视频| 在线不卡免费av| 欧美成人午夜电影| 久久久久国产精品麻豆ai换脸| 久久久一区二区三区捆绑**| 久久久国产精品不卡| 亚洲欧洲成人av每日更新| 国内欧美视频一区二区| 国产一二三精品| 91在线精品一区二区| 欧美性猛交xxxx黑人交| 欧美一区二区三区四区高清| 欧美精品一区二区三区四区| 欧美激情中文不卡| 亚洲午夜av在线| 精品一区二区三区在线观看国产| 国产91丝袜在线播放九色| 91美女片黄在线观看91美女| 欧美肥大bbwbbw高潮| 久久无码av三级| 一区二区三区精品久久久| 天堂精品中文字幕在线| 国产aⅴ综合色| 欧美日韩一区二区三区在线看| 欧美电影免费观看完整版| 日韩理论片网站| 日本欧美一区二区三区| 成人一道本在线| 欧美三级在线播放| 欧美极品少妇xxxxⅹ高跟鞋 | 色综合久久久久综合体桃花网| 欧美精品aⅴ在线视频| 欧美激情一区二区三区全黄 | 欧美—级在线免费片| 亚洲欧美在线高清| 卡一卡二国产精品| 欧美性色黄大片| 国产清纯白嫩初高生在线观看91| 亚洲成人午夜影院| 成人免费av网站| 26uuu精品一区二区三区四区在线| 亚洲男人的天堂一区二区| 国产最新精品免费| 日韩一级免费观看| 亚洲午夜久久久久中文字幕久| 国产成人免费在线观看不卡| 欧美一区二区精品在线| 亚洲一级在线观看| 99精品1区2区| 国产精品国产自产拍高清av王其| 久久99精品久久久久久久久久久久| 在线一区二区三区做爰视频网站| 国产拍欧美日韩视频二区| 久久国产免费看| 欧美一区二区三区在线电影| 亚洲香肠在线观看| 色综合网色综合| 亚洲欧洲日韩综合一区二区| 国产经典欧美精品| 欧美成人video| 日韩av电影天堂| 欧美精品色一区二区三区| 亚洲自拍与偷拍| 色婷婷久久久久swag精品| 亚洲欧洲精品天堂一级| 大桥未久av一区二区三区中文| 亚洲精品一区二区三区影院| 欧美性生交片4| 亚洲国产裸拍裸体视频在线观看乱了 | 国产福利一区在线观看| 精品欧美一区二区在线观看| 久久草av在线| 久久一夜天堂av一区二区三区| 狠狠色丁香婷婷综合| 精品国产1区2区3区| 韩国精品在线观看| 国产片一区二区三区| 成人h动漫精品一区二区| 国产精品久久久一本精品 | 玉米视频成人免费看| 色呦呦一区二区三区| 亚洲成人综合网站| 欧美一区二区观看视频| 国产一区二区精品久久| 国产精品视频一区二区三区不卡| 99久久亚洲一区二区三区青草| 亚洲最新视频在线观看| 91精品免费观看| 国产精品一区免费在线观看| 国产精品日韩精品欧美在线| 色妹子一区二区| 奇米影视一区二区三区| 中文字幕精品一区二区三区精品| 91麻豆福利精品推荐| 免费av网站大全久久| 欧美国产一区在线| 久久精品无码一区二区三区| 成人av在线观| 热久久国产精品| 中文字幕在线不卡| 91精品国产综合久久久蜜臀粉嫩| 国内外成人在线| 亚洲一区二区三区四区的| 精品久久一二三区| 在线观看日韩毛片| 国产麻豆9l精品三级站| 亚洲一区在线观看视频| 精品91自产拍在线观看一区| 99精品久久免费看蜜臀剧情介绍| 日本午夜精品视频在线观看| 自拍偷拍国产精品| 精品欧美一区二区三区精品久久| 一本大道久久a久久精二百| 国产自产高清不卡| 亚洲成在人线免费| 中文成人av在线| 欧美日韩在线播放一区| 麻豆免费看一区二区三区| 91成人看片片| 成人国产精品免费观看视频| 日韩电影在线看| 一区二区在线免费观看| 久久九九99视频| 日韩欧美高清一区| 欧美色综合网站| 99精品视频一区| 国产高清在线精品| 国产在线乱码一区二区三区| 性久久久久久久| 亚洲午夜一区二区| 一区二区欧美国产| 亚洲黄色片在线观看| 国产精品萝li| 国产精品久久久久一区二区三区| 欧美videossexotv100| 欧美一区二区三区在线电影| 欧美日韩色一区| 欧美老女人在线| 欧美日韩美女一区二区| 在线日韩av片| 欧美日韩免费在线视频| 欧美在线free| 欧美日韩日日夜夜| 制服丝袜日韩国产| 日韩视频免费观看高清在线视频| 69成人精品免费视频| 日韩西西人体444www| 日韩免费高清av| 精品久久久久久亚洲综合网| 精品国偷自产国产一区| 久久这里只精品最新地址| 久久久久久久av麻豆果冻| 中文在线一区二区| 亚洲欧美一区二区三区极速播放| 日韩久久一区二区| 一区二区三区精品久久久| 日韩中文字幕av电影| 免费在线一区观看| 国产高清精品网站| 99精品桃花视频在线观看| 欧美亚洲一区二区在线观看| 欧美福利一区二区| 久久亚洲精华国产精华液 | 久久久一区二区三区| 中文一区一区三区高中清不卡| 中文字幕亚洲综合久久菠萝蜜| 亚洲永久免费视频| 免费欧美在线视频| 成人丝袜视频网| 欧美日韩亚洲综合在线| 久久久久久久久一| 伊人性伊人情综合网| 日本成人在线看| 国产.精品.日韩.另类.中文.在线.播放| 成人毛片视频在线观看| 欧美日韩国产在线观看| 五月激情综合色| 国产一区二区三区黄视频| 一本色道久久综合亚洲91| 日韩欧美高清一区| 亚洲精品中文字幕乱码三区| 蜜臀精品久久久久久蜜臀| 91亚洲精品久久久蜜桃| 日韩一区二区三区在线观看 | 成人app在线观看| 91精品国产色综合久久| 亚洲免费毛片网站|