楼主是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信号上升沿之后才有的,结果显示是超前了,而且发送的数据也有错误,希望能有大神解答。万事开头难,一点小问题自己折腾了几天也没弄好,多谢大家了!
