📄 io.c
字号:
#include "config.h"
UWORD uwXbit[DI_NUM];
UDWORD udXtick[DI_NUM];
struct struWordBit X;
struct struWordBit Y;
void ReadDin(void)
{
UWORD tempOld,tempNew;
CHAR i;
// X00
if(READ_X00_DATA()) tempOld = 1; else tempOld = 0;
for(i = 0; i < SOFT_FILTER_NUM; i++)
{
if(READ_X00_DATA()) tempNew = 1; else tempNew = 0;
if(tempNew != tempOld) break;
}
if(i == SOFT_FILTER_NUM)
{
if(tempNew == uwXbit[0])
{
if(udTickCount > udXtick[0] + SOFT_FILTER_TIME)
{
udXtick[0] = udTickCount;
X00 = tempNew;
}
}
else
{
udXtick[0] = udTickCount;
uwXbit[0] = tempNew;
}
}
else
{
udXtick[0] = udTickCount;
}
// X01
if(READ_X01_DATA()) tempOld = 1; else tempOld = 0;
for(i = 0; i < SOFT_FILTER_NUM; i++)
{
if(READ_X01_DATA()) tempNew = 1; else tempNew = 0;
if(tempNew != tempOld) break;
}
if(i == SOFT_FILTER_NUM)
{
if(tempNew == uwXbit[1])
{
if(udTickCount > udXtick[1] + SOFT_FILTER_TIME)
{
udXtick[1] = udTickCount;
X01 = tempNew;
}
}
else
{
udXtick[1] = udTickCount;
uwXbit[1] = tempNew;
}
}
else
{
udXtick[1] = udTickCount;
}
// X02
if(READ_X02_DATA()) tempOld = 1; else tempOld = 0;
for(i = 0; i < SOFT_FILTER_NUM; i++)
{
if(READ_X02_DATA()) tempNew = 1; else tempNew = 0;
if(tempNew != tempOld) break;
}
if(i == SOFT_FILTER_NUM)
{
if(tempNew == uwXbit[2])
{
if(udTickCount > udXtick[2] + SOFT_FILTER_TIME)
{
udXtick[2] = udTickCount;
X02 = tempNew;
}
}
else
{
udXtick[2] = udTickCount;
uwXbit[2] = tempNew;
}
}
else
{
udXtick[2] = udTickCount;
}
// X03
if(READ_X03_DATA()) tempOld = 1; else tempOld = 0;
for(i = 0; i < SOFT_FILTER_NUM; i++)
{
if(READ_X03_DATA()) tempNew = 1; else tempNew = 0;
if(tempNew != tempOld) break;
}
if(i == SOFT_FILTER_NUM)
{
if(tempNew == uwXbit[3])
{
if(udTickCount > udXtick[3] + SOFT_FILTER_TIME)
{
udXtick[3] = udTickCount;
X03 = tempNew;
}
}
else
{
udXtick[3] = udTickCount;
uwXbit[3] = tempNew;
}
}
else
{
udXtick[3] = udTickCount;
}
// X04
if(READ_X04_DATA()) tempOld = 1; else tempOld = 0;
for(i = 0; i < SOFT_FILTER_NUM; i++)
{
if(READ_X04_DATA()) tempNew = 1; else tempNew = 0;
if(tempNew != tempOld) break;
}
if(i == SOFT_FILTER_NUM)
{
if(tempNew == uwXbit[4])
{
if(udTickCount > udXtick[4] + SOFT_FILTER_TIME)
{
udXtick[4] = udTickCount;
X04 = tempNew;
}
}
else
{
udXtick[4] = udTickCount;
uwXbit[4] = tempNew;
}
}
else
{
udXtick[4] = udTickCount;
}
/*
// X05
if(READ_X05_DATA()) tempOld = 1; else tempOld = 0;
for(i = 0; i < SOFT_FILTER_NUM; i++)
{
if(READ_X05_DATA()) tempNew = 1; else tempNew = 0;
if(tempNew != tempOld) break;
}
if(i == SOFT_FILTER_NUM)
{
if(tempNew == uwXbit[5])
{
if(udTickCount > udXtick[5] + SOFT_FILTER_TIME)
{
udXtick[5] = udTickCount;
X05 = tempNew;
}
}
else
{
udXtick[5] = udTickCount;
uwXbit[5] = tempNew;
}
}
else
{
udXtick[5] = udTickCount;
}
// X06
if(READ_X06_DATA()) tempOld = 1; else tempOld = 0;
for(i = 0; i < SOFT_FILTER_NUM; i++)
{
if(READ_X06_DATA()) tempNew = 1; else tempNew = 0;
if(tempNew != tempOld) break;
}
if(i == SOFT_FILTER_NUM)
{
if(tempNew == uwXbit[6])
{
if(udTickCount > udXtick[6] + SOFT_FILTER_TIME)
{
udXtick[6] = udTickCount;
X06 = tempNew;
}
}
else
{
udXtick[6] = udTickCount;
uwXbit[6] = tempNew;
}
}
else
{
udXtick[6] = udTickCount;
}
// X07
if(READ_X07_DATA()) tempOld = 1; else tempOld = 0;
for(i = 0; i < SOFT_FILTER_NUM; i++)
{
if(READ_X07_DATA()) tempNew = 1; else tempNew = 0;
if(tempNew != tempOld) break;
}
if(i == SOFT_FILTER_NUM)
{
if(tempNew == uwXbit[7])
{
if(udTickCount > udXtick[7] + SOFT_FILTER_TIME)
{
udXtick[7] = udTickCount;
X07 = tempNew;
}
}
else
{
udXtick[7] = udTickCount;
uwXbit[7] = tempNew;
}
}
else
{
udXtick[7] = udTickCount;
}
// X10
if(READ_X10_DATA()) tempOld = 1; else tempOld = 0;
for(i = 0; i < SOFT_FILTER_NUM; i++)
{
if(READ_X10_DATA()) tempNew = 1; else tempNew = 0;
if(tempNew != tempOld) break;
}
if(i == SOFT_FILTER_NUM)
{
if(tempNew == uwXbit[8])
{
if(udTickCount > udXtick[8] + SOFT_FILTER_TIME)
{
udXtick[8] = udTickCount;
X10 = tempNew;
}
}
else
{
udXtick[8] = udTickCount;
uwXbit[8] = tempNew;
}
}
else
{
udXtick[8] = udTickCount;
}
// X11
if(READ_X11_DATA()) tempOld = 1; else tempOld = 0;
for(i = 0; i < SOFT_FILTER_NUM; i++)
{
if(READ_X11_DATA()) tempNew = 1; else tempNew = 0;
if(tempNew != tempOld) break;
}
if(i == SOFT_FILTER_NUM)
{
if(tempNew == uwXbit[9])
{
if(udTickCount > udXtick[9] + SOFT_FILTER_TIME)
{
udXtick[9] = udTickCount;
X11 = tempNew;
}
}
else
{
udXtick[9] = udTickCount;
uwXbit[9] = tempNew;
}
}
else
{
udXtick[9] = udTickCount;
}
// X12
if(READ_X12_DATA()) tempOld = 1; else tempOld = 0;
for(i = 0; i < SOFT_FILTER_NUM; i++)
{
if(READ_X12_DATA()) tempNew = 1; else tempNew = 0;
if(tempNew != tempOld) break;
}
if(i == SOFT_FILTER_NUM)
{
if(tempNew == uwXbit[10])
{
if(udTickCount > udXtick[10] + SOFT_FILTER_TIME)
{
udXtick[10] = udTickCount;
X12 = tempNew;
}
}
else
{
udXtick[10] = udTickCount;
uwXbit[10] = tempNew;
}
}
else
{
udXtick[10] = udTickCount;
}
// X13
if(READ_X13_DATA()) tempOld = 1; else tempOld = 0;
for(i = 0; i < SOFT_FILTER_NUM; i++)
{
if(READ_X13_DATA()) tempNew = 1; else tempNew = 0;
if(tempNew != tempOld) break;
}
if(i == SOFT_FILTER_NUM)
{
if(tempNew == uwXbit[11])
{
if(udTickCount > udXtick[11] + SOFT_FILTER_TIME)
{
udXtick[11] = udTickCount;
X13 = tempNew;
}
}
else
{
udXtick[11] = udTickCount;
uwXbit[11] = tempNew;
}
}
else
{
udXtick[11] = udTickCount;
}
// X14
if(READ_X14_DATA()) tempOld = 1; else tempOld = 0;
for(i = 0; i < SOFT_FILTER_NUM; i++)
{
if(READ_X14_DATA()) tempNew = 1; else tempNew = 0;
if(tempNew != tempOld) break;
}
if(i == SOFT_FILTER_NUM)
{
if(tempNew == uwXbit[12])
{
if(udTickCount > udXtick[12] + SOFT_FILTER_TIME)
{
udXtick[12] = udTickCount;
X14 = tempNew;
}
}
else
{
udXtick[12] = udTickCount;
uwXbit[12] = tempNew;
}
}
else
{
udXtick[12] = udTickCount;
}
// X15
if(READ_X15_DATA()) tempOld = 1; else tempOld = 0;
for(i = 0; i < SOFT_FILTER_NUM; i++)
{
if(READ_X15_DATA()) tempNew = 1; else tempNew = 0;
if(tempNew != tempOld) break;
}
if(i == SOFT_FILTER_NUM)
{
if(tempNew == uwXbit[13])
{
if(udTickCount > udXtick[13] + SOFT_FILTER_TIME)
{
udXtick[13] = udTickCount;
X15 = tempNew;
}
}
else
{
udXtick[13] = udTickCount;
uwXbit[13] = tempNew;
}
}
else
{
udXtick[13] = udTickCount;
}
*/
}//void ReadDin(void)
void WriteDout(void)
{
if(Y00) SET_Y00_HIGH(); else SET_Y00_LOW();
if(Y01) SET_Y01_HIGH(); else SET_Y01_LOW();
if(Y02) SET_Y02_HIGH(); else SET_Y02_LOW();
if(Y03) SET_Y03_HIGH(); else SET_Y03_LOW();
if(Y04) SET_Y04_HIGH(); else SET_Y04_LOW();
if(Y05) SET_Y05_HIGH(); else SET_Y05_LOW();
if(Y06) SET_Y06_HIGH(); else SET_Y06_LOW();
if(Y07) SET_Y07_HIGH(); else SET_Y07_LOW();
if(Y10) SET_Y10_HIGH(); else SET_Y10_LOW();
if(Y11) SET_Y11_HIGH(); else SET_Y11_LOW();
}//void WriteDout(void)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -