📄 main.c
字号:
#include "System.h"
#include "MagneticRead.h"
void InitialIO(void);
void InitialSystem(void);
void main(void)
{
unsigned char i;
InitialIO();
InitialSystem();
while(1)
{
//ReadMagCard
if( EA && !ioCLD )
{
while( !ioCLD )
{}
EA = 0;
// Check Track Data
// 0xF1 : LRC Error
// 0xF2 : Parity Error
// 0xF3 : No End Code
// 0xF4 : No Start Code
// 0xF5 : No Data
if( fTrack1HaveData ) Track1Check();
else nReadTrack1Len = READ_NODATA;
if( fTrack2HaveData ) Track2Check();
else nReadTrack2Len = READ_NODATA;
if( fTrack3HaveData ) Track3Check();
else nReadTrack3Len = READ_NODATA;
// Track1 Data Have Error
if( ( nReadTrack1Len > 0xF0 ) || ( nReadTrack1Len == 0 ) )
{
// Clear Track1 Buffer
for(i=0;i<READ_TRACK1BUFSIZE;i++)
chTrack1Buffer[i] = 0x00;
}
// Track2 Data Have Error
if( ( nReadTrack2Len > 0xF0 ) || ( nReadTrack2Len == 0 ) )
{
// Clear Track2 Buffer
for(i=0;i<READ_TRACK2BUFSIZE;i++)
chTrack2Buffer[i] = 0x00;
}
// Track3 Data Have Error
if( ( nReadTrack3Len > 0xF0 ) || ( nReadTrack3Len == 0 ) )
{
// Clear Track3 Buffer
for(i=0;i<READ_TRACK3BUFSIZE;i++)
chTrack3Buffer[i] = 0x00;
}
EA = 1;
// Initial Magnetic Read Status...
ReadyToRead();
}
}
}
void InitialIO(void)
{
P0 = 0xFF;
P1 = 0xFF;
P2 = 0xFF;
P3 = 0xFF;
P4 = 0xFF;
}
void InitialSystem(void)
{
//Ext IO1 setting
IT1=1;
EX1=1; //External Int1 Interrupt Disable, here is used for Track2 recieve data
//Timer setting
TMOD=0x66; // T0 = NGate Control & Counter Mode & Mode2(8bit)
// T1 = NGate Control & Timer Mode & Mode1
//Timer0 setting (Ext Port)
TH0=0xFF;
TL0=0xFF;
TR0=1;
ET0=1; //Timer 0 Interrupt Disable, here is used for Track1 recieve data
//Timer1 setting (Ext Port)
TH1=0xFF;
TL1=0xFF;
TR1=1;
ET1=1; //Timer 1 Interrupt Disable, here is used for Track3 recieve data
EA = 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -