void InitSpia(void)
{
SpiaRegs.SPICCR.bit.SPISWRESET = 0; //SPI 软件复位,迫使SPI进入复位状态
SpiaRegs.SPIBRR=0x0001; // SPI_Baud_Rate = LSPCLK/4;(0,1,2); 30MHz/4 = 7.5MHz
SpiaRegs.SPISTS.all=0x0000; //
SpiaRegs.SPIPRI.all=0x0001; // stop immediately
/*CPHA = 0, Disable interrrupt, Master,*/
SpiaRegs.SPICTL.bit.OVERRUNINTENA = 0;
SpiaRegs.SPICTL.bit.CLK_PHASE = 0;
SpiaRegs.SPICTL.bit.MASTER_SLAVE = 1;
SpiaRegs.SPICTL.bit.TALK = 1;
SpiaRegs.SPICTL.bit.SPIINTENA = 0;
/*CPOL = 0, 8bit, */
SpiaRegs.SPICCR.bit.CLKPOLARITY = 0; //CPOL = 0 时钟极性为0
SpiaRegs.SPICCR.bit.SPICHAR = 7; //8 bit data
SpiaRegs.SPICCR.bit.SPILBK = 0;
SpiaRegs.SPICCR.bit.SPISWRESET = 1;
}
初始化代码如上,
想要配置到spi的Mod0模式,可是通过逻辑分析仪查看波形,得出SCLK的波形在空闲状态下,总是高电平。
其他功能都正常费解啊!
Johnson Chen1:
是否用示波器看空闲时SCLK是什么电平?