📄 tmcbsp55.h.bak
字号:
//test mcbsp
#ifndef _MCBSP55_H
#define _MCBSP55_H
#ifndef _MCBSP55_C
#undef EXTERNAL
#define EXTERNAL extern
#else
#undef EXTERNAL
#define EXTERNAL
#endif //_MCBSP55_C
//-*******定义mcbsp的word长度*******-//
#define MCBSP8BIT 0
#define MCBSP12BIT 1
#define MCBSP16BIT 2
#define MCBSP20BIT 3
#define MCBSP24BIT 4
#define MCBSP32BIT 5
//-************************************-//
//ie_msk:产生错误中断的mask
//int_mode:
#define INTM_RX_WORD 0
#define INTM_RX_BLOCK 1
#define INTM_RX_DETECT_FS 2
#define INTM_RX_DETECT_ERR 3 //如果设置呢ie_msl!=0,则无论int_mode设置成什么值,接收错误都会引发中断
//-************************************-//
#define MCBSP_RX_MSK_BIT 0
#define MCBSP_TX_MSK_BIT 1
#define MCBSP_RX_USED_BIT 2
#define MCBSP_TX_USED_BIT 3
#define MCBSP_AS_GPIO 1
#define MCBSP_AS_NORMAL 0
//-************************************-//
//MCBSP之gpio管角号码定义如下
#define MCBSP_CLKX_IO 0
#define MCBSP_CLKR_IO 1
#define MCBSP_FSX_IO 2
#define MCBSP_FSR_IO 3
#define MCBSP_DX_IO 4
#define MCBSP_DR_IO 5
#define MCBSP_CLKS_IO 6
//-*******************************************-//
#define MCBSP_EXTERNAL_FS 0 //外部帧同步信号
#define MCBSP_INTERNAL_FS 1 //内部帧同步信号
#define MCBSP_FS_POLAR_HIGH 0 //正极性
#define MCBSP_FS_POLAR_LOW 1 //负极性
#define MCBSP_EXTERNAL_SGR_CLK 0
#define MCBSP_CPU_SGR_CLK 1
#define MCBSP_CLKR_CLK 2
#define MCBSP_CLKX_CLK 3
#define MCBSP_CLKR_SGR_CLK 4
#define MCBSP_CLKX_SGR_CLK 5
#define MCBSP_CLK_POLAR_UP 1 //上升沿采样
#define MCBSP_CLK_POLAR_DOWN 0 //下降沿采样
#define MCBSP_CLK_SRC_YES 0
#define MCBSP_CLK_SRC_NO 1
//-******************************************-//
//sync_err:1,frame_sync有错误时会产生中断;0忽略错误????
//int_mode:
#define MCBSP_INTM_WORD 0
#define MCBSP_INTM_BLOCK 1
#define MCBSP_INTM_FS 2
#define MCBSP_INTM_ERR 3 //如果设置呢ie_msl!=0,则无论int_mode设置成什么值,接收错误都会引发中断
#define MCBSP_INTM_NULL 255
//-************************************-//
EXTERNAL Uint16 McBspGetMskBit(Uint16 dev_no,Uint16 bit_no);
EXTERNAL void McBspSetMskBit(Uint16 dev_no,Uint16 bit_no,Uint16 bit_val);
EXTERNAL MCBSP_Handle InitMcBsp( Uint16 dev_no /*设备号:0,2*/ );
EXTERNAL void McBspLocalLoopBack(MCBSP_Handle hmc,Uint16 loop); //loop=0:normal;1:loop back
EXTERNAL void McBspSetRxGpio(MCBSP_Handle hmc,Uint16 port_mode );
EXTERNAL void McBspSetTxGpio(MCBSP_Handle hmc,Uint16 port_mode );
EXTERNAL void McBspSetRxFrameWord(MCBSP_Handle hmc,Uint16 word_len,Uint16 fr_len,Uint16 fr_wid,
Uint16 dat_dly /*数据首比特相对frame的延迟delay:0/1/2*/
);
EXTERNAL void McBspSetTxFrameWord(MCBSP_Handle hmc,Uint16 word_len,Uint16 fr_len,Uint16 fr_wid,
Uint16 dat_dly /*数据首比特相对frame的延迟delay:0/1/2*/
);
EXTERNAL void McBspSetRxFrame(MCBSP_Handle hmc,Uint16 fs_extern /*是否是外部fs*/,
Uint16 pola /*帧同步的极性*/
);
EXTERNAL void McBspSetTxFrame(MCBSP_Handle hmc,Uint16 fs_extern /*是否是外部fs*/,
Uint16 pola /*帧同步的极性*/
);
EXTERNAL void McBspSetTxClk(MCBSP_Handle hmc,Uint16 div /*分频比*/,Uint16 clk_src /*是否是外部fs*/,
Uint16 pola /*帧同步的极性*/
);
EXTERNAL void McBspSetRxClk(MCBSP_Handle hmc,Uint16 div /*分频比*/,Uint16 clk_src /*是否是外部fs*/,
Uint16 pola /*帧同步的极性*/
);
EXTERNAL void McBspSetRxInt(MCBSP_Handle hmc,Uint16 err_msk,Uint16 int_mode,void (*func)(),Uint16 prio);
EXTERNAL void McBspSetTxInt(MCBSP_Handle hmc,Uint16 err_msk,Uint16 int_mode,void (*func)(),Uint16 prio);
EXTERNAL void McBspStartTx(MCBSP_Handle hmc);
EXTERNAL void McBspStartRx(MCBSP_Handle hmc);
EXTERNAL void McBspStopTx(MCBSP_Handle hmc);
EXTERNAL void McBspStopRx(MCBSP_Handle hmc);
EXTERNAL void McBspClose(MCBSP_Handle hmc);
EXTERNAL void McBspRxReset(MCBSP_Handle hmc,Uint16 val);
EXTERNAL void McBspTxReset(MCBSP_Handle hmc,Uint16 val);
EXTERNAL void McBspSampleRateGeneratorReset(MCBSP_Handle hmc,Uint16 val);
EXTERNAL void McBspFrameSyncLogicReset(MCBSP_Handle hmc,Uint16 val);
EXTERNAL Int16 MCBSP_RdIO(MCBSP_Handle hmc,Uint16 gpio_no);
EXTERNAL Int16 MCBSP_WrIO(MCBSP_Handle hmc,Uint16 gpio_no,Uint16 val);
EXTERNAL void McBspIdle(MCBSP_Handle hdmc);
//-************************************-//
void BspRxIsr(void);
void BspTxIsr(void);
#endif //_MCBSP55_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -