📄 app_magdrive.h
字号:
#ifndef __APP_MAGDRIVE_H__
#define __APP_MAGDRIVE_H__
#define IO_RCPA (0x01<<10)
#define IO_RDTA (0x01<<11)
#define IO_RCPB (0x01<<7)
#define IO_RDTB (0x01<<8)
#define IO_CLS (0x01<<9)
#define IO_TRACK_1_DATA
#define IO_TRACK_1_CLK
#define IO_TRACK_2_DATA IO_RDTB
#define IO_TRACK_2_CLK IO_RCPB
#define IO_TRACK_3_DATA IO_RDTA
#define IO_TRACK_3_CLK IO_RCPA
#define IO_BUZZER_CTRL (0x01<<5)
typedef struct
{
unsigned short TK1_StartGuard; //Start Sentinel
unsigned short TK1_ClkSign;
unsigned short TK1_BITMAP;
unsigned short TK1_Len;
unsigned short TK1_Index;
unsigned char TK1_Data[79+2];
}MAGCARD_TRACK1;
typedef struct
{
unsigned short TK2_StartGuard; //Start Sentinel
unsigned short TK2_ClkSign;
unsigned short TK2_BITMAP;
unsigned short TK2_Len;
unsigned short TK2_Index;
unsigned char TK2_Data[40+2];
}MAGCARD_TRACK2;
typedef struct
{
unsigned short TK3_StartGuard; //Start Sentinel
unsigned short TK3_ClkSign;
unsigned short TK3_BITMAP;
unsigned short TK3_Len;
unsigned short TK3_Index;
unsigned char TK3_Data[107+2];
}MAGCARD_TRACK3;
void MagDrive_Init(void);
UINT1 MagDrive_Polling(void);
UINT1 MagDrive_Get_TK1(void);
UINT1 MagDrive_Get_TK2(void);
UINT1 MagDrive_Get_TK3(void);
UINT1 MagDrive_Decode_Track(UINT1* aOutData,UINT1* aInData,UINT2 nLen);
UINT1 MagDrive_Check_5Bits(UINT1 a5Bits);
UINT1 MagDrive_Check_Track2_Characters(UINT1* aBuff,UINT2 nLen);
UINT1 MagDrive_Check_LRC(UINT1* aBuff,UINT2 nLen);
UINT1 MagDrive_Decode_Track(UINT1* aOutData,UINT1* aInData,UINT2 nLen);
void MagDrive_Rvs_Bits(UINT1* aBuff, UINT2 nLen);
void MagDrive_Fix_Track2(MAGCARD_TRACK2* pTK2);
#endif //__APP_MAGDRIVE_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -