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

📄 cmn.h

📁 一个比较好用的TW2835音视频芯片开发板的程序,
💻 H
字号:
//==================================================================================
//						Common definition & variable description
//==================================================================================
#define	BIT0		(0x0001)
#define	BIT1		(0x0002)
#define	BIT2		(0x0004)
#define	BIT3		(0x0008)
#define	BIT4		(0x0010)
#define	BIT5		(0x0020)
#define	BIT6		(0x0040)
#define	BIT7		(0x0080)
#define	BIT8		(0x0100)
#define	BIT9		(0x0200)
#define	BIT10		(0x0400)
#define	BIT11		(0x0800)
#define	BIT12		(0x1000)
#define	BIT13		(0x2000)
#define	BIT14		(0x4000)
#define	BIT15		(0x8000)

//==================================================================================
#define U8  unsigned char
#define U16 unsigned int
#define S8  signed char
#define S16 signed int

//==================================================================================
#define	NULL		0
#define	ON			1
#define	OFF		0

//==================================================================================
#define	SetBit(x,y)			((x) |= (y))         
#define	ClearBit(x,y)		((x) &= ~(y))        
#define	BitSet(x,y)			(((x)&(y))== (y))    
#define	BitClear(x,y)		(((x)&(y))== 0)      
#define	IfBitSet(x,y)		if(((x)&(y)) == (y)) 
#define	IfBitClear(x,y)	if(((x)&(y)) == 0)

//==================================================================================
#define	DLY_FOR(x)				for(_dly_=0;_dly_<(x);_dly_++)
#define	DLY_I2C					60		//... SCL : 80 kHz at 4.7 kヘ
#define	DLY_PRLL_TBL			50
#define	DLY_IO					5
#define	DLY_SW_STRB				20000//10

//==================================================================================
#define	LOSS_MODE_BYPS		0
#define	LOSS_MODE_FRZ			1
#define	LOSS_MODE_BLAK		2
#define	LOSS_MODE_BLK_FRZ	3



//==================================================================================
extern U8 bdata	cmn_flg;
	#define	VDO_NTSC				0
	#define	VDO_PAL				1
extern bit	b_cmn_dtct_vs;
extern bit	b_cmn_jp_vdo;
extern bit	b_cmn_wndw_pop;
extern bit	b_cmn_wndw_mn;
extern bit	b_cmn_irq;
extern bit	b_cmn_fld_od;
//extern bit	b_cmn_fld_evn;

extern bit	b_cmn_tmp;


extern U8 bdata	cmn_flg_cnt;
extern bit b_cmn_cnt_vs;	//= cmn_flg_cnt^0;
extern bit b_cmn_cnt_fld;	//= cmn_flg_cnt^1;
extern bit b_cmn_cnt_tgl;	//= cmn_flg_cnt^2;
extern bit b_cmn_cnt_01s;	//= cmn_flg_cnt^3;
extern bit b_cmn_cnt_02s;	//= cmn_flg_cnt^4;
extern bit b_cmn_cnt_05s;	//= cmn_flg_cnt^5;
extern bit b_cmn_cnt_1s;	//= cmn_flg_cnt^6;



//------------------------------------------------------------------------------------------
//extern U8 bdata	wndw_flg_rc_in;
//extern bit	b_rc_in_bnd;
//extern bit	b_rc_in_dgtl;
//extern bit	b_rc_in_anlg;
//extern bit	b_rc_in_dtct;
//extern bit	b_rc_in_run;


//#define	CIF_TYPE_FR				0
//#define	CIF_TYPE_FL				1
//#define	MUX_TYPE_LV			0
//#define	MUX_TYPE_FL			1
//#define	MUX_TYPE_FR			2
//
//extern U8 idata	wndw_rc_fm_cif_type;
//extern U8 idata	wndw_rc_fm_mux_type;



extern U8 bdata	wndw_flg_ds;
extern bit	b_ds_pb_cif;
extern bit	b_ds_wth_4pb;
extern bit	b_ds_wth_16pb;
extern bit	b_ds_wth_rc;
//extern bit	b_ds_in_eror;
extern bit	b_ds_in_run;
extern bit	b_ds_in_auto;

//#define	SC_FMT_1CH				0
//#define	SC_FMT_4CH				1
//#define	SC_FMT_4CH_PB			2
//#define	SC_FMT_16CH				3
//#define	SC_FMT_16CH_PB				4
//#define	SC_FMT_8CH				5
//#define	SC_FMT_8CH_RC			6
//
////#if defined(__4CH__)
////extern U8 idata	wndw_ds_sc_fmt;
////#elif	defined(__16CH__)
////extern U8 idata	wndw_ds_sc_fmt;
////#endif
//extern U8 idata	wndw_ds_sc_fmt;
//



extern U8 bdata	wndw_flg;
#define	CH_SRC_LV						0
#define	CH_SRC_PB						1
extern bit	b_ch_src;
extern bit	b_ado_lv_mr;
extern bit	b_ado_lv_mr_arw_pb;

//------------------------------------------------------------------------------------------

extern U8	cmn_bot;
//extern U8	run_8ch_cnt_ana_sw;
extern U8	cmn_cnt_vs;
extern U8	cmn_cnt_vs_sub;
extern U8 idata	cmn_vga_det;				//... __WTH_VGA__老锭 idata 绝局搁 compile矫 error 惯积.

#if	defined(__16CH__)
	extern U8	cmn_rc_md;
	#define	RC_MD_120_FPS				0
	#define	RC_MD_240_FPS				1
	#define	RC_MD_480_FPS				2
#endif
extern U8	cmn_dvc;
extern U8	MASTER;
extern U8	cmn_lst_slvr_x;
extern U8	cmn_lst_slvr_y;
extern U8	cmn_max_ch;


//==================================================================================
//						Common function prototype description
//==================================================================================

extern void	WaitCmnFldOd(void);
extern U8	GetCodeLength(unsigned char code *str);
extern U8	ConvDec2Bcd(U8 _dat);	// ex : 38 -> 0x38, 99 -> 0x99 (BCD蔼捞骨肺 a~f绰 器窃捞 救 等促绰 啊沥俊辑, decimal蔼 10付促 6究 歹秦霖促.)
//extern U8	ConvBcd2Dec(U8 _dat);	// ex : 0x38 -> 38, 0xaf -> X (BCD蔼捞骨肺 a~f绰 器窃捞 救 等促绰 啊沥俊辑, hex蔼 0x10付促 6究 哗霖促.)
//
//extern U8	GetBitFlgType(U8 _var, U8 _flag);
//extern void	SetBitFlgType(U8 *_p_var, U8 _flag, U8 _data);
//extern U8	GetBitVarType(U8 _var, U8 _bit_ofst, U8 _bit_wdth);
//extern void	SetBitVarType(U8 *_p_var, U8 _bit_ofst, U8 _bit_wdth, U8 _data);

extern void	SetCrntDvcCh(U8 _ch, U8 *_crnt_dvc, U8 *_crnt_ch);
extern U8	GetAsicFlgType(U8 _dvc, U8 _pg, U8 _addr, U8 _flg);
extern void	SetAsicFlgType(U8 _dvc, U8 _pg, U8 _addr, U8 _flg, U8 _data);
extern U8	GetAsicVar8Type(U8 _dvc, U8 _pg, U8 _addr, U8 _flg);
extern void	SetAsicVar8Type(U8 _dvc, U8 _pg, U8 _addr, U8 _flg, U8 _data);

extern U16	ChkNoVdo(void);

⌨️ 快捷键说明

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