使用C6748作从机,A5作主机,使用SPI1三线模式,目前存在两个问题:1. 传输数据太多 程序会卡死 卡死在while( (HWREG(SOC_SPI_1_REGS + SPI_SPIBUF) & 0x80000000 ) ); 接收判断处,项目需要收发16092个8位的数据, 但是如果收发4000个数据,程序可正常跑通,但收发多一些 程序就会卡死(在收发十几个数的时候就会停到接收判断处)。2. 设置收发4023个数据,程序可跑通,但是DSP收到A5的数据不正确,用A5给DSP全发数字5, 经过打印只有前几个数是正常的5 ,后边的数就像是随机数,不是5且一直变化。
怀疑是两边时钟的问题,但是做从机不需要设置时钟吧 ,A5的SPI时钟设置为10Mhz; 以前采用的是STM32F4与A5通信 ,通信正常,现在想用DSP代替32。
还有一个问题就是从6748的技术参考手册看 SPI的缓冲区TXBUF和RXBUF未说明是多大的 ,这个缓冲区多大呢 会不会是缓冲区太小的问题。 感谢大家。










