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

📄 dataio.h

📁 该程序实现的是一个在织布厂用的提花机程序
💻 H
字号:
/* =========dataio ================================*/
#define WEAVER_O 0x222
#define CONTROL_O 0x223	
#define MAP_O 0x224
#define MAP_I 0x225
#define WEAVER_I 0x226
#define PC_ENABLE_H_O 0x227	  /* for testing map, send 'enable'=1       */
#define PC_ENABLE_L_O 0x228	/* normally used, for testing map, send 'enable'=0  */
#define PC_DISABLE_H_O 0x229	/* normally used           */
#define PC_DISABLE_L_O 0x22a	/* used only when sensors*/
#define PC_CLEAR_FPGALOCK_O 0x22b
#define PC_WEA_L_O 0x230
#define PC_WEA_H_O 0x231
#define PC_PICK_L_O 0x232
#define PC_PICK_H_O 0x233
#define PC_WEA_REPEAT_L_O 0x234
#define PC_WEA_REPEAT_H_O 0x235
#define PC_JOB_REPEAT_L_O 0x236
#define PC_JOB_REPEAT_H_O 0x237
#define PC_MEM_START_O 0x230
#define PC_MEM_END_O 0x237
#define PC_INI_O 0x238

#define SELF_TEST_SEL_O 0x22C
#define	SELF_TEST_1_I 0x220
#define	SELF_TEST_2_I 0x221
#define	SELF_TEST_O 0x22D		
#define	FPGA_TEST 0x22E
typedef union Self_Test__O
{
	struct
	{
		unsigned 	zone_a:1;
		unsigned 	zone_b:1;
		unsigned 	x20_4:1;
		unsigned 	x19_4:1;
		unsigned 	x21_1:1;
		unsigned 	x21_2:1;
		unsigned 	x21_3:1;
		unsigned 	x21_4:1;
	}	_bit;
	BYTE _byte;
}SELF_TEST__O;

typedef union MapI
{
	struct
	{
		unsigned 	enable:1;
		unsigned 	error:1;
		unsigned 	sensor123:1;
		unsigned 	ps:1;
		unsigned 	no_data:1;
		unsigned 	sdata_i:1;
		unsigned 	sclk_i:1;
		unsigned 	test:1;
	}	_bit;
	BYTE _byte;
}MAPI;

typedef union MapO
{
	struct
	{
		unsigned 	latch:1;
		unsigned 	sclk:1;
		unsigned 	sdata:1;
		unsigned 	unused:5;
	}	_bit;
	BYTE _byte;
} MAPO;


typedef union WeaI
{
	struct
	{
		unsigned 	slow:1;
		unsigned 	fast:1;
		unsigned 	forwd:1;
		unsigned 	backwd:1;
		unsigned 	wo_brk:1;
		unsigned 	wa_brk:1;
		unsigned 	shutle:1;
		unsigned 	enable:1;
	}	_bit;
	BYTE _byte;
}WEAI;

typedef union WeaO
{
	struct
	{
		unsigned 	job_end:1;
		unsigned 	rpt_end:1;
		unsigned 	ready:1;
		unsigned 	unused2:5;
	}	_bit;
	BYTE _byte;
}WEAO;
typedef union 
{
	struct
	{
		BYTE l,h;
	} _byte;
	int _int;
} BYTE_INT;
/*
typedef enum 
{
	OK,NODATA,NOPOWER,WEFTBRK,WARPBRK
}HARDWARE_ERROR;
*/
BOOL CheckDataConnect();
void Ini_FPGA();
void Ini_Map();
void Ini_Wea();
void Kill_FPGA();
int GetMapNum(int MaxMapNumber);

void SendByte(BYTE data);
void SendLatch();
void ByteToBit(BYTE data,int* bit);

void SendLatchLevel(int level);
void SendSclkLevel(int level);

void SendZero(int nMap);
int GetBit(BOOL bInvert);
void SendBit(int bit);

void WriteFRAM();
void ReadFRAM();
 	/*format: 0,1:WeaIndex(not uesed);2,3:g_iLine;
	          4,5:g_iWeaRepeat; 6,7:g_iJobRepeat(not used)*/
//void GetCheckInfo(HARDWARE_ERROR* err,char* buff);
BOOL CheckIO(char *info);
BOOL ClearError(char *info);
void Delay1u();      /*0.5uS*/
void Delay1m();      /*0.5mS  */
void DelayMs(int nMs);      /*mS*/
void DelayUs(int nUs);      /*uS  */


⌨️ 快捷键说明

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