📄 linesctr.c.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 + -