📄 1553_junk_bm-5_bu.h
字号:
// file bu.h
// include file for BU-65550M2-605 PCMCIA card (1553) software
//
typedef volatile unsigned short vint16;
typedef unsigned short int16;
typedef volatile unsigned long vint32;
typedef unsigned long int32;
#define TRUE 1
#define FALSE 0
#define OK 1
#define KO 0
#define CMD256 0x0000
#define CMD1024 0x0800
#define CMD4096 0x1000
#define CMD16384 0x1800
#define DATA512 0x0700
#define DATA1024 0x0600
#define DATA2048 0x0500
#define DATA4096 0x0400
#define DATA8192 0x0300
#define DATA16384 0x0200
#define DATA32768 0x0100
#define DATA65536 0x0000
#define BU_TIMETAG_2 0x0280 // 2 uS
#define BU_TIMETAG_4 0x0200 // 4 uS
#define BU_TIMETAG_8 0x0180 // 8 uS
#define BU_TIMETAG_16 0x0100 // 16 uS
#define BU_TIMETAG_32 0x0080 // 32 uS
#define BU_TIMETAG_64 0x0000 // 64 uS
#define BU_TIMETAG_TEST 0x0300 // test clock
#define BU_TIMETAG_EXT_CLOCK 0x0380 // external clock
#define IRQ_ALL 0xFFFF
#define IRQ_MASTER 0x8000
#define IRQ_RAM_PARITY_ERROR 0x4000
#define IRQ_TRANSMITTER_TIMEOUT 0x2000
#define IRQ_BC_RT_CMD_STK_ROLLOVR 0x1000
#define IRQ_MT_CMD_STACK_ROLLOVR 0x0800
#define IRQ_MT_DTA_STACK_ROLLOVR 0x0400
#define IRQ_HANDSHAKE_FAILURE 0x0200
#define IRQ_BC_RETRY 0x0100
#define IRQ_RT_ADDR_PARITY_ERROR 0x0080
#define IRQ_TIMETAG_ROLLOVR 0x0040
#define IRQ_RT_CIRC_BUFFR_ROLLOVR 0x0020
#define IRQ_RT_BC_MESSAGE_INT 0x0010
#define IRQ_BC_END_OF_FRAME 0x0008
#define IRQ_RT_BC_MT_FORMAT_ERROR 0x0004
#define IRQ_STATUS_SET_MODE_INT_TRIG 0x0002
#define IRQ_END_OF_MESSAGE 0x0001
typedef struct {
vint16 interrupt_mask;
vint16 config_1;
vint16 config_2;
vint16 start_reset;
vint16 control_word;
vint16 time_tag;
vint16 interrupt_status;
vint16 config_3;
vint16 config_4;
vint16 config_5;
vint16 data_stack_pointer;
vint16 bc_frame_time;
vint16 bc_message_time;
vint16 mt_trigger;
vint16 rt_status;
vint16 rt_bit;
} reg_t;
#define command_stack_pointer start_reset
typedef struct {
vint16 block_status;
vint16 time_tag;
vint16 data_pointer;
vint16 command_word;
} desc_t;
typedef struct {
desc_t stack_A[64]; // 000 0x000
vint16 rt_cmd_pointer_A; // 256 0x100
vint16 reserved_1; // 257 0x101
vint16 mt_cmd_pointer_A; // 258 0x102
vint16 mt_dat_pointer_A; // 259 0x103
vint16 rt_cmd_pointer_B; // 260 0x104
vint16 reserved_2; // 261 0x105
vint16 mt_cmd_pointer_B; // 262 0x106
vint16 mt_dat_pointer_B; // 263 0x107
vint16 mode_code_interrupt[8]; // 264 0x108
vint16 mode_code_data[48]; // 272 0x110
vint16 rt_lookup_table_A[128]; // 320 0x140
vint16 rt_lookup_table_B[128]; // 448 0x1c0
vint16 busy_lookup[8]; // 576 0x240
vint16 unused_1[24]; // 584 0x248
vint16 data_block_s[32]; // 608 0x260
vint16 mt_lookup_table[128]; // 640 0x280
vint16 command_illegal[256]; // 768 0x300
desc_t mt_cmd_A[64]; //1024 0x400
desc_t mt_cmd_B[64]; //1280 0x500
vint16 unused_2[512]; //1536 0x600
vint16 mt_dat_A[1024]; //2048 0x800
vint16 mt_dat_B[1024]; //3072 0xc00
} mem_t;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -