This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

F28035的spib模块发送错误问题

楼主是dsp新手,写spi的键盘显示控制程序的时候,发现通信错误,寄存器配置如下:

void InitSpi(void)
{
	///////////////////////////////////////
	
	InitSpibGpio();

	SpibRegs.SPIFFTX.all=0xE040;  //使能fifo发送
	SpibRegs.SPIFFRX.all=0x204f;  //使能fifo接收
	SpibRegs.SPIFFCT.all=0x0;

	SpibRegs.***.bit.***=0x7;	    // 8-bits

	SpibRegs.***.bit.MASTER_SLAVE = 1;   //as master
	SpibRegs.***.bit.TALK = 1;           //enable transmission
	SpibRegs.***.bit.CLK_PHASE = 1;
	SpibRegs.***.bit.CLKPOLARITY = 0;  

	SpibRegs.SPIBRR = 19;					
  		        
	SpibRegs.***.bit.SPISWRESET = 1;		// Relinquish SPI from Reset
  
    SpibRegs.SPIPRI.bit.FREE = 1;  

}

然后测试输出的SPICLKB和SIMOB的波形如下

本来应该是输出应该是在clock信号上升沿之后才有的,结果显示是超前了,而且发送的数据也有错误,希望能有大神解答。万事开头难,一点小问题自己折腾了几天也没弄好,多谢大家了!