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

📄 comm.h

📁 f2812 内部ad 调试成功 f2812 内部ad 调试成功
💻 H
字号:
/*****************************************************************************/
/* COMM.H	v1.00														     */
/* 版权(c)	2003-   	北京合众达电子技术有限责任公司						 */
/* 设计者:	段立锋															 */
/*****************************************************************************/
#ifndef _COMM_H_
#define _COMM_H_

/********************************************************************************/
/* 常量定义																		*/
/********************************************************************************/
#define  FRAMLONGTH    0x104
#define  DataLongth   0x100


/*帧类型的设定*/
#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  SYSTEMRESET   0x05//系统复位
#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 UARTSINGLE     	0xAA22	//单个发送与接收
#define UARTFRAME     	0xAA23	//采用帧模式发送与接收
#define UARTSNGL2FRM	0x5A	//退出单个发送模式

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

#define MOTORSTART  0xBB05//  电机试验开始
#define MOTOREND	0xBB06//  电机试验结束

/*spi试验命令*/

#define SPISENDDATA 0xCC03 //spi 发送数据
#define SPIEND      0xCC04 //spi 试验结束

/*CAN试验命令*/

#define CANSENDDATA 0xCC05 //CAN 发送数据
#define CANEND      0xCC06 //CAN 试验结束

typedef struct MotorConfig
{
	unsigned int StpMode;		//步进电机模式
	unsigned int StpDir;		//步进电机方向
	unsigned int StpHlfStp;	//步进电机半步
	unsigned int StpSpdDgr;	//步进电机速度、步数
	unsigned int DcDir;		//直流电机方向
	unsigned int DcSpd;		//直流电机速度
}MotorConfig, *PMotorConfig;
//步进电机半步
#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
//系统引导初始化成功
#define	BOOTINITOVER   0xAA4C 

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    

/*ADD BY SHGENG*/
#define COMMWITHDEC5416 0xCC00//通讯方向选择dec5416
#define COMMWITHDSK2407 0xCC01//通讯方向选择dsk2407

//add by shgeng



/*系统缓冲区的定义:
*系统缓冲区的定义:
*第0~3个字节:串口通路A的寄存器缓冲
*第4个字节:5个字节:串口通路B的寄存器缓冲
*第6~7个字节:系统寄存器的读写缓冲
*第8个字节	:A通路接收缓冲区每次接收的长度
*第9个字节 	:B通路接收缓冲区第次接收的长度
*第10个字节	:A通路当前接收缓冲区的地址
*第11个字节	:B通路当前接收缓冲区的地址
*第12个字节	:A通路的FIFO的深度
*第13个字节 : B通路的FIFO的深度
*第14个字节 :UART的状态区
*第15个字节 :A通路数据准备好
*第16个字节 :B通路数据准备好
*第17个字节 :A通路出现故障
*第18个字节 :B通路出现故障
*第19个字节 : A通路已接收的数据
*第20个字节 : B通路已接收的数据
*第21个字节 :A通路有新帧
*第22个字节 :B通路有新帧
*第23个字节 :A通路中断超时
*第24个字节 :B通路中断超时
*第25个字节 :A通路较验出错
*第26个字节 :B通路较给出错
*第27个字节 :系统的时钟设置
*/
#define UARTA0		0x0
#define UARTA1      0x1
#define UARTA2   	0x2
#define UARTA3		0x3
#define UARTB1      0x4
#define UARTB2   	0x5
#define SYSB0       0x6
#define SYSB1       0x7
#define RECALON     0x8
#define RECBLON     0x9
#define RECAADDR    0xA
#define RECBADDR    0xB
#define FIFOADIP    0xC
#define FIFOBDIP    0xD
#define UARTSTAT    0xE
#define RECARDY     0xf
#define RECBRDY     0x10
#define UARTAERR    0x11
#define UARTBERR    0x12
#define UARTACOUNT  0x13
#define UARTBCOUNT  0x14
#define RECANEW     0x15
#define RECBNEW     0x16
#define UARTIMEA    0x17
#define UARTIMEB    0x18
#define UARTCHEKA   0x19
#define UARTCHEKB   0x1a
#define SYSCLOCKS   0x1b
#endif

⌨️ 快捷键说明

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