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

📄 comm.h

📁 利用C语言在DSP平台上实现FIR滤波器
💻 H
字号:
/*****************************************************************************/
/* COMM.H	v1.00														     */
/* 版权(c)	2003-   	北京合众达电子技术有限责任公司						 */
/* 设计者:	段立锋															 */
/*****************************************************************************/
#ifndef _COMM_H_
#define _COMM_H_

/********************************************************************************/
/* 常量定义																		*/
/********************************************************************************/

/*帧类型的设定*/
#define  UARTDATA      0x0
#define  UARTCOMMAND   0x2

/*命令帧的参数设定*/
#define  TESTDATACONT  0x01
#define  TESTDATAEND   0x00
/*系统命令*/

#define  UARTCONT      0x0  //命令帧不连续
#define  UARTMUTL      0x1  //帧连续
#define  RECIEVEGOOD   0xAA01//接收正确
#define  RECIEVEERROR  0xAA02//接收错误
#define  RECIEVEEND    0xAA03//接收结束
#define  VAILDFRAME    0xAA04//无效帧
#define  SYSRESET      0xAA05//系统复位
#define  COMMANDNODO   0xAA06//程序不处理命令 
#define  INITOVER      0xAA0F//初始化完成

/*音频实验*/
#define  AUDIOCOPY     0xAA07//音频存贮开始
#define  AUDIOPLAY     0xAA08//音频回放
#define  AUDIOGAIN     0xAA09//音频增益调整
#define  AUDIOTRY      0xAA0A//音频试听
#define  FLASHERROR    0xAA0B//FLash无法擦除
#define  FLASHWERR     0xAA0C//Flash无法写入
#define  FLASHWOK      0xAA0D//FLASH写入成功
#define  FLASHWEND     0xAA0E//录音结束
#define  AUDIOSAMPLE   0xAA10//CODEC采样调整
#define  AUDIOINPUT    0xAA11//CODEC输入选择

/*定时器实验*/
#define  TIMERESET	   0xA5
#define  TIMESET       0xA2//设置时间
#define  TIMEBACK      0xA3//返回时间

typedef struct Time_Frame
{
	unsigned int Type;		//帧类型
	unsigned int Hour;		//小时
	unsigned int Minute;	//分钟
	unsigned int Second; 	//秒
}Time_Frame;

/*交通灯实验*/
#define TRAFFICAUTO	0xAA14//自动运行模式
#define TRAFFICMANNUL	0xAA15//人工模式
#define TRAFFICNIGHT	0xAA16//夜间模式
#define TRAFFICRUN	0xAA17//运行状态
#define TRAFFICHALT	0xAA18//停止状态
#define TRAFFICRESET	0xAA19//交通灯复位
#define	TRAFFICEAST	0xAA1A//东西通行	
#define TRAFFICSOUTH	0xAA1B//南北通行
#define TRAFFICFORBID	0xAA1C//禁行
#define IOSET		0xAA1D//设置IO值
#define IOBACK		0xAA1E//返回IO值




/*同步串口实验*/
#define MCBSPOPEN    	0xAA1F//打开同步串口
#define MCBSPCLOSE    	0xAA20//关闭同步串口

//#define MCBSPCIRCLE   	0xAA21//循环发送

/*异步串口实验*/
#define UARTSIGLE     	0xAA22//单个发送与接收
#define UARTFRAME     	0xAA23//采用帧模式发送与接收

/*电机驱动实验*/
#define STPMTRHALT 	0xAA24//步进电机停止
#define STPMTRRUN   	0xAA25//步进电机运行
#define STPMTRRVS  	0xAA26//步进电机反向
#define DCMTRRUN   	0xAA28//直流电机运行
#define DCMTRBRK 	0xAA39//直流电机刹车
#define DCMTRSLWDWN	0xAA3A//直流电机缓停
#define DCMTRRVS	0xAA3B//直流电机反向
#define MTRCONFIG 	0xAA3C//电机设置


struct MotorConfig
{
	unsigned int StpMode;		//步进电机模式
	unsigned int  StpDir;		//步进电机方向
	unsigned int  StpHlfStp;	//步进电机半步
	unsigned int  StpSpdDgr;	//步进电机速度、步数
	unsigned int  DcDir;		//直流电机方向
	unsigned int  DcSpd;		//直流电机速度
};
//步进电机半步
#define FULLSTEP	0x0
#define HALFSTEP	0x1

//电机方向常量
#define CLOCKWISE	0x0
#define ANTICLOCKWISE	0x1

//步进电机模式常量
#define ROTATE		0x0
#define LOCATE		0x1

/*AD实验*/
#define  ADSTART       0xAA40//启动AD采样
#define  ADSET         0xAA41//AD设置
#define  ADDATASEND    0xAA43//AD数据传送
#define  ADOVER        0xAA42//AD数据采样结束
//#define  ADGAIN        0xAA44//AD前向增益调整

typedef struct _AdConfig
{
	unsigned int SampleLong;	//AD采样数据长度
	unsigned int SampleRate;	//AD采样率
	unsigned int GainSet;		//AD前向增益调整
	unsigned int DataLeft;      //选择左通路数据还是右通路
}AdConfig, *PAdConfig;

//AD益调整
#define  GAINLOWEST    0x0		//代表-34.5DB,每增加一,增加1.5DB
#define  GAINHIGH      0x1f		//代表12DB
//AD采样率调整
#define  ADSAMPL8K     0xd		//采样率为8k
#define  ADSAMPL44K    0x23		//采样率为44k
#define  ADSAMPL96K    0x1d		//采样率为96k 
//AD数据选择
#define  ADDATALEFT    0x0
#define  ADDATARIGHT   0x1

/*FFT实验*/
#define FFTSTART	0xAA44		
#define	FFTSET		0xAA45
#define FFTDATASEND	0xAA46
#define FFTOVER		0xAA47
/*FFT数据长度*/
#define DATALENGTH256	256
#define DATALENGTH512	512
#define DATALENGTH1024	1024

/*滤波器实验*/
#define FILTERSTART		0xAA48
#define FILTERSET		0xAA49
#define FILTERDATASEND	0xAA4A
#define FILTEROVER		0xAA4B

typedef struct _FilterConfig
{  
    unsigned int SampleLong;	//AD采样数据长度
	unsigned int SampleRate;	//AD采样率
	unsigned int GainSet;		//AD前向增益调整
	unsigned int DataLeft;      //选择左通路数据还是右通路
	unsigned int FilterType;	//滤波器类型
}FilterConfig, *PFilterConfig;

/*滤波器类型*/
#define FIRFILTER		0x0
#define IIRFILTER		0x1

#endif

⌨️ 快捷键说明

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