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

📄 linesctr.c.svn-base

📁 AVR单片机下
💻 SVN-BASE
字号:
/*                ****ROBOCON 2009 | BUPT TEAM******* * ------------------------------------------------------------------------ * FileName   : linesctr.c * Version    : 1.0 * Brief      : 数线器,使用EI4,需要AVRX环境 * Code by    : Leaf * Date       : Tue Mar 31 00:04:57 2009 * Note       : * * * ------------------------------------------------------------------------ */
#include "lib_bupt.h"
#ifdef LINESCTR_H_INCLUDED

volatile UINT8 linesCtr;
Mutex          linesCtrInc;/*数线器初始化*/
void  linesCtrInit(void){
	AvrXResetSemaphore(&linesCtrInc);
	SBI(DDRE,  PE4);
	SBI(PORTE, PE4);
	linesCtrStop();
	setLinesCtr(0);
}
/*停止数线器*/
void linesCtrStop(void){
	CBI(EIMSK, INT4);
}
/*重开数线器*/
void linesCtrStart(void){
	CBI(EIMSK, INT4);
	SBI(EICRB, ISC40);
	SBI(EICRB, ISC41);
	SBI(EIMSK, INT4);
}
/*获得当前经过了几条线*/
UINT8 getLinesCtr(void){
	return linesCtr;
}
/*设置数线器值*/
void  setLinesCtr(UINT8 val){
	linesCtr = val;
}
/*数线器中断*/
AVRX_SIGINT(SIG_INTERRUPT4)
{
	IntProlog();
	++linesCtr;
	linesCtrStop();
	AvrXIntSetSemaphore(&linesCtrInc);
	Epilog();
}

#endif

⌨️ 快捷键说明

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