C6424 DSP(用的是TI 官方demo板:EVM6424);这个板子上有mcbsp0和mcbsp1资源。
我是把mcbsp0配置成从机为SPI0, mcbsp1配置成主机为SPI1。
-----------------------------------------------------------------------------------------------------
今天调试,我只配置SPI1主机(且不连接从机SPI0)。
防止RFULL错误:主机SPI1连续发送数据,每次发生一次数据,都判断是否有收到数据(RRDY),有就读出出来,在发下一个数据。但是发送第3个数据,任然产生RFULL错误?不晓得什么原因?
代码如下:
while(MCBSP1_SPCR&MCBSP_SPCR_XEMPTY);
MCBSP1_DXR_8BIT = *ptrm;
_waitusec( 20 ); //等待发送数据/仿真才有电平数据输出
if( MCBSP1_SPCR & MCBSP_SPCR_RRDY )
[ rm = MCBSP1_DRR_8BIT; ]
while(MCBSP1_SPCR&MCBSP_SPCR_XEMPTY);
MCBSP1_DXR_8BIT = *ptrm;
_waitusec( 20 );
if( MCBSP1_SPCR & MCBSP_SPCR_RRDY )
[ rm = MCBSP1_DRR_8BIT; ]
while(MCBSP1_SPCR&MCBSP_SPCR_XEMPTY);
MCBSP1_DXR_8BIT = *ptrm;
_waitusec( 20 ); //数据发送完成后,发现RFULL错误!!!!!
if( MCBSP1_SPCR & MCBSP_SPCR_RRDY )
[ rm = MCBSP1_DRR_8BIT; ]
while(MCBSP1_SPCR&MCBSP_SPCR_XEMPTY);
MCBSP1_DXR_8BIT = *ptrm;
_waitusec( 20 );
if( MCBSP1_SPCR & MCBSP_SPCR_RRDY )
[ rm = MCBSP1_DRR_8BIT; ]
C6424 DSP(用的是TI 官方demo板:EVM6424);这个板子上有mcbsp0和mcbsp1资源。
我是把mcbsp0配置成从机为SPI0, mcbsp1配置成主机为SPI1。
-----------------------------------------------------------------------------------------------------
今天调试,我只配置SPI1主机(且不连接从机SPI0)。
防止RFULL错误:主机SPI1连续发送数据,每次发生一次数据,都判断是否有收到数据(RRDY),有就读出出来,在发下一个数据。但是发送第3个数据,任然产生RFULL错误?不晓得什么原因?
代码如下:
while(MCBSP1_SPCR&MCBSP_SPCR_XEMPTY);
MCBSP1_DXR_8BIT = *ptrm;
_waitusec( 20 ); //等待发送数据/仿真才有电平数据输出
if( MCBSP1_SPCR & MCBSP_SPCR_RRDY )
[ rm = MCBSP1_DRR_8BIT; ]
while(MCBSP1_SPCR&MCBSP_SPCR_XEMPTY);
MCBSP1_DXR_8BIT = *ptrm;
_waitusec( 20 );
if( MCBSP1_SPCR & MCBSP_SPCR_RRDY )
[ rm = MCBSP1_DRR_8BIT; ]
while(MCBSP1_SPCR&MCBSP_SPCR_XEMPTY);
MCBSP1_DXR_8BIT = *ptrm;
_waitusec( 20 ); //数据发送完成后,发现RFULL错误!!!!!
if( MCBSP1_SPCR & MCBSP_SPCR_RRDY )
[ rm = MCBSP1_DRR_8BIT; ]
while(MCBSP1_SPCR&MCBSP_SPCR_XEMPTY);
MCBSP1_DXR_8BIT = *ptrm;
_waitusec( 20 );
if( MCBSP1_SPCR & MCBSP_SPCR_RRDY )
[ rm = MCBSP1_DRR_8BIT; ]
举报