SPI初始化如下:
SpiaRegs.***.bit.SPISWRESET=0; // Reset SPI
SpiaRegs.***.all=0x0007; //8-bit character,上升沿发,下降沿入
SpiaRegs.***.all=0x0007; //Interrupt enabled, Master/Slave XMIT enabled
SpiaRegs.SPIBRR=0x028; // Baud rate LSPCLK/(4+1)=20M/40=0.5M
SpiaRegs.SPIFFTX.all=0xC004; // Enable FIFO's, set TX FIFO level to 4
SpiaRegs.SPIFFRX.all=0x0024; // Set RX FIFO level to 4
SpiaRegs.SPIFFCT.all=0x00;
SpiaRegs.SPIPRI.all=0x0010;
SpiaRegs.SPISTS.all = 0x00;
SpiaRegs.***.bit.SPISWRESET=1; // Enable SPI
SpiaRegs.SPIFFTX.bit.TXFIFO=1;
SpiaRegs.SPIFFRX.bit.RXFIFORESET=1;
F28069的SPI引脚都悬空,这种情况下,用示波器看出SOMI引脚和SIMO引脚电平无变化,但用仿真器仿真却能进入接收中断,为什么?
初充中断子程序中处理:
interrupt void spiRxFifoIsr(void)
{
Uint16 i;
Uint8 ***;
SpiaRegs.SPIFFRX.bit.RXFFOVFCLR=1; // Clear Overflow flag
SpiaRegs.SPIFFRX.bit.RXFFINTCLR=1; // Clear Interrupt flag
PieCtrlRegs.PIEACK.all|=0x20; // Issue PIE ack
。
}