?? comm.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 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 + -