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

📄 fun1_def.h

📁 一个医学的软件
💻 H
字号:
#include <dos.h>
#define DIS 0
#define UNDIS 1
#define INT_MS_EACH 54.9255
#define STIM_INT_OLD 0x1c
#define TRUE 1
#define FALSE 0

struct channel{
	   short int num;
	   float gain;
	   char unit[6];
	   } ;

struct ctrl_info{
	short int ap;
	short int fc;
	short int param;
	short int edit;
	short int speed;
	short int clock;
	};

struct apparam{
		short int vmax;
		short int rp;
		short int apa;
		short int apd20;
		short int apd50;
		short int apd90;
		short int fc;
	};

struct trialparam{
	short int stim_number;
	short unsigned stim_during;
	short unsigned stim_data;
	short unsigned sample_inter;
	short unsigned sample_delay;
	short int out_t1;
	short int out_t;
	short int out_amp;
	short int out_l;
	short int out_n;
	short int out_delay;
	short int hold_potential;
	struct channel inch[2];
	struct channel outch;
	short unsigned *in_data_buff[16];
	short unsigned *fc_data_buff[16];
	short int data_flag[16];
	struct apparam ap_param[16];
	};

struct stimgroup{
	unsigned short int mem;
	unsigned short int time;
	unsigned short int samflag;
	struct stimgroup *next;
	};

struct axis{
	short int off;			//偏移量
	float scale;		//刻度
	short int inc;			//增量
	short int leng;			//长度
	};

struct axis_info{
		float value;
		int point;
		char out[16];
	};

struct data_dis{
	short int trial_num;	//试验量
	short int stim_num;	//激励量
	short int curse;
	struct axis time;
	struct axis trial[2];
	};
struct comframe{
	   short int time;
	   short int value;
	   };
/*
typedef struct {
	unsigned char hour;
	unsigned char minute;
	unsigned char second;
	}REALTIME_T;
REALTIME_T  begin_clock,now_clock,count_clock;//,record_clock;
*/
//struct date sys_date;

static struct trialparam *trial;
static struct trialparam trialgroup={
		4,			//stim_number
		500,		//stim_during  // A/D work time
		5000,		//stim_data  =max of A/D points of one circle.
		200,       	//sample_inter
		0,  		//sample_delay
		3,   		//out_t1
		1000,		//out_t
		10000,		//out_amp
		500,		//out_l
		1,			//out_n
		50,			//out_delay
		0,  		//hold_potenial
		{{0,1.0,"mV"},{2,10.0,"mg"}},
		{-1,1.0,"mV"},
		{NULL,0},	// *in_data_buff[16];
		{NULL,0},	// *fc_data_buff[16];
		{0,0,0,0,
		 0,0,0,0,
		 0,0,0,0,
         0,0,0,0
		 },			//data_flag[16];
	};
static struct data_dis trial_dis;
extern struct stimgroup *stimhead;
extern struct stimgroup *stimnow;
extern short int stimstate;

extern short unsigned total_num;
extern short unsigned now_num;
extern unsigned short int *ad_database[16];
extern unsigned short int *fc_database[16];
extern unsigned short int ad_flag[16];
extern unsigned short int *now_ad_database;
extern unsigned short int *now_fc_database;
extern short int num_point;
extern short int now_num_point;
extern short int samplestate;
extern short int dis_num;

extern short int adch1;
extern short int adch2;
extern short int now_adch;

extern short int time_count;
extern short int total_count;
extern short int out_time;
extern short int sam_delay;
extern short int out_mem;
extern short int hold_mem;

extern struct ctrl_info ctrl_param;
extern struct trialparam *trial;
extern struct trialparam trialgroup;
extern struct data_dis trial_dis;

extern short int have_broad;
extern short int workauto;

extern short int paramfile_update;
extern short int datafile_update;
extern short int data_update;
extern char paramfilename[80];
extern char datafilename[80];

/*extern REALTIME_T now_clock;
extern REALTIME_T count_clock;
extern REALTIME_T record_clock;
*/
/*
int init_ad_broad(unsigned inter_s, int inter_t,unsigned char ch_num);
int init_sam_broad(unsigned inter_s,unsigned char ch_num);
int init_stim_broad(unsigned inter_s);
int restore_ad_broad(void);
void save_int_reg(void);
void set_ad_prg(void);
void set_ad_ctc(void);
void enable_ad_int(void);

void interrupt each_da_stim_old(void);
void interrupt each_da_stim_new(void);
void interrupt each_da_stim_circle(void);
void interrupt	sample_ad_da(void);
void interrupt	sample_2ad_da(void);

void sample_ad_ask_timer(void);
void out_hold_potenial(int potenial);

void ini_dis_trial(void);
void clear_curve(void);
int ini_trial_data(struct trialparam *data,int mode);
void draw_trial_axis(struct trialparam *data,struct data_dis *dis);
void installint(void interrupt(*adint)(),int num);

void get_each_stim_a_t(unsigned num_point,unsigned *ad_database,unsigned *da_database);
void get_each_stim_i_t(unsigned num_point,unsigned *ad_database,unsigned *da_database);
void get_each_stim_i_p(unsigned num_point,unsigned *ad_database,unsigned *da_database);

int display_trial_in_data(void);
int read_trial_data_buff(void);
int read_trial_data_file(struct trialparam *data,char *filename,int num);


unsigned trial_time_valuetopoint(struct trialparam *data,float time);
unsigned trial_da_valuetomem(struct trialparam *data,float value);
float trial_ad_memtovalue(struct trialparam *data,unsigned mem,int num);
unsigned trial_ad_valuetomem(struct trialparam *data,float value,int num);
int trial_time_valuetoscrn(struct trialparam *data,struct axis *dis,float time);
float trial_time_pointtovalue(struct trialparam *data,unsigned point);


void display_ap_num(struct trialparam *data,int num);
void display_ap_param(struct trialparam *data,int num);

//add by cao
int make_da_control(struct trialparam *data);
int set_stim_group(struct trialparam *data);
int set_ad_flag(struct trialparam *data);
void cv_to_mem(struct trialparam *data);

extern unsigned int now_counter;//==0: the stim is over, New stim be setup, now_sn=0
extern unsigned int now_da_val;
extern unsigned int now_en_sam;   //=FALSE:disable ad, =TRUE:enable AD
extern struct stimgroup *da_head;
extern struct stimgroup *da_now_ptr;

void make_stim_group(struct trialparam *data);
void free_stim_group(struct stimgroup *head);
int same_trial_param(struct trialparam *p1,struct trialparam *p2);
void count_ap_fc_param(struct trialparam *data,int cnum);
//add by zhang
int cursor(int x,int y,int color);
int display_cursor_on_curve(struct trialparam *data,struct data_dis *dis,int num,int ch);
*/

⌨️ 快捷键说明

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