最近在写用合众达的板子做MCBSP的实验
按照例程写出来的程序提示5个ERROR,都是在结构体上面的错误
都是:
TOO FEW ARGUMENT IN MACRO INVOCATION
还有就是
unrecoginzed token
我看了CSL_MCBSP的结构体 格式定义,并没有缺少什么模块啊,格式也看了很久,也没什么问题的说= =
实在是搞不懂= =求助
程序:
static MCBSP_Config ConfigLoop={
MCBSP_SPCR_RMK( //串口控制器
MCBSP_SPCR_FREE_YES, //串行时钟自由运行模式
MCBSP_SPCR_SOFT_YES, //串口时钟仿真模式,完成当前传输后串口时钟停止
MCBSP_SPCR_FRST_YES, //帧同步产生器复位
MCBSP_SPCR_GRST_YES, //采样率产生器复位
MCBSP_SPCR_XINTM_XRDY, //T传输中断模式
MCBSP_SPCR_XSYNCERR_NO, //传输同步错误
MCBSP_SPCR_XRST_YES, //传输复位
MCBSP_SPCR_DLB_ON, //数字回环模式
MCBSP_SPCR_RJUST_RZF, //接收数据符号位扩展和调整模式
MCBSP_SPCR_CLKSTP_DISABLE, //时钟停止模式
MCBSP_SPCR_DXENA_OFF, //DX使能
MCBSP_SPCR_RINTM_RRDY, //接收中断模式
MCBSP_SPCR_RSYNCERR_NO, //接受同步错误
MCBSP_SPCR_RRST_YES //接受复位
),
MCBSP_RCR_RMK( //接收控制寄存器
MCBSP_RCR_RPHASE_SINGLE, //接收相位
MCBSP_RCR_RFRLEN2_OF(0), //二相位接收帧长度(RFRLEN2)
MCBSP_RCR_RWDLEN2_8BIT, //二相位接收数据单元长度(RWDLEN2)
MCBSP_RCR_RCOMPAND_MSB, //接收压缩模式
MCBSP_RCR_RFIG_YES, //接受侦忽略
MCBSP_RCR_RDATDLY_0BIT, //接收数据延迟
MCBSP_RCR_RFRLEN1_OF(0), //一相位接收帧长度
MCBSP_RCR_RWDLEN1_32BIT, //一相位接收数据单元长度
MCBSP_RCR_RWDREVRS_DISABLE //32-bit接收位反向特性
),
MCBSP_XCR_RMK( //传输控制寄存器
MCBSP_XCR_XPHASE_SINGLE, //传输相位
MCBSP_XCR_XFRLEN2_OF(0), //二相位传输帧长度
MCBSP_XCR_XWDLEN2_8BIT, //二相位传输数据单元长度
MCBSP_XCR_XCOMPAND_MSB, //传输压缩模式不压缩
MCBSP_XCR_XFIG_YES, //MSB先传输帧忽略
MCBSP_XCR_XDATDLY_0BIT, //传输数据延迟
MCBSP_XCR_XFRLEN1_OF(0), //一相位传输帧长度
MCBSP_XCR_XWDLEN1_32BIT, //一相位传输数据长度
MCBSP_XCR_XWDREVRS_DISABLE //32-bit位反向特性
),
MCBSP_SRGR_RMK( //串口采样率生成器寄存器
MCBSP_SRGR_GSYNC_FREE, //同步采样率生成器时钟
MCBSP_SRGR_CLKSP_RISING, //CLKS极时钟边沿选择
MCBSP_SRGR_CLKSM_INTERNAL, //MCBSP采样率生成器时钟模式
MCBSP_SRGR_FSGM_DXR2XSR, //采样率生成器传输帧同步
MCBSP_SRGR_FPER_OF(63), //帧周期
MCBSP_SRGR_FWID_OF(31), //帧宽度
MCBSP_SRGR_CLKGDV_OF(15) //采样率生成器时钟分频
),
MCBSP_MCR_DEFAULT, //使用MCR寄存器默认值
MCBSP_RCER_DEFAULT, //使用RCERE寄存器默认值
/* MCBSP_RCERE1_DEFAULT,
MCBSP_RCERE2_DEFAULT,
MCBSP_RCERE3_DEFAULT,*/
MCBSP_XCER_DEFAULT, //使用XCERE寄存器默认值
/* MCBSP_XCERE1_DEFAULT,
MCBSP_XCERE2_DEFAULT,
MCBSP_XCERE3_DEFAULT,*/
MCBSP_PCR_RMK(
MCBSP_PCR_XIOEN_SP, //通用I/O模式传输
MCBSP_PCR_RIOEN_SP, //接收器以通用I/O模式
MCBSP_PCR_FSXM_INTERNAL, //传输帧同步模式
MCBSP_PCR_FSRM_EXTERNAL, //接收帧同步模式
MCBSP_PCR_CLKXM_OUTPUT, //传输时钟模式
MCBSP_PCR_CLKRM_INPUT, //接收时钟模式
MCBSP_PCR_CLKSSTAT_0, //CLKS引脚状态
MCBSP_PCR_DXSTAT_0, //DX引脚状态
MCBSP_PCR_FSXP_ACTIVEHIGH, //传输帧同步极性
MCBSP_PCR_FSRP_ACTIVEHIGH, //接受侦同步极性
MCBSP_PCR_CLKXP_RISING, //传输时钟极性
MCBSP_PCR_CLKRP_FALLING //接受时钟极性
)
};
//主函数 main()
void main()
{
//int result=1;
/***************************************************************
MCBSP回环模式配置:CSL初始化,打开MCBSP,MCBSP端口操作
***************************************************************/
CSL_init(); //CSL初始化
hMcbsp=MCBSP_open(MCBSP_DEV1,MCBSP_OPEN_RESET); //打开MCBSP_DEV1设备,返回设备句柄
MCBSP_config(hMcbsp,&ConfigLoop); //利用CpnfigLoop 结构体配置建立Mcbsp端口
MCBSP_start(hMcbsp,MCBSP_RCV_START |
MCBSP_XMIT_START|
MCBSP_SRGR_START|
MCBSP_SRGR_FRAMESYNC,
MCBSP_SRGR_DEFAULT_DELAY); //通过MCBSP_OPEN函数传递的句柄和掩码开始 |