SPI主控制器模
详细内容
工作在主模式下(MASTER/SLAVE=1),SPI在SPICLK引脚为整个串行通信网络提供时钟。数据从SPISIMO引脚输出,并锁存SPISOMI引脚上输入的数据。SPIBRR寄存器确定通信网络的数据传输的速率,通过SPIBRR寄存器可以配置126种不同的数据传输率。
写数据到SPIDAT或SPITXBUF寄存器启动SPISIMO引脚上的数据发送,首先发送的是最高有效位(MSB)。同时,接收的数据通过SPISOMI引脚移入SPIDAT的最低有效位。当传输完特定的位数后,接收到的数据被发送到SPIRXBUF寄存器,以各CPU读取。数据在SPIRXBUF寄存器中采用右对齐的方式存储。
当指定数量的数据位已经通过SPIDAT位移位后,则会发生下列事件:
●SPIDAT中的内容发送到SPIRXBUF寄存器中。
●SPI INT FLAG位(SPISTS.6)置1。
●如果在发送缓冲器SPITXBUF中还有有效的数据(SPISTS寄存器中的TXBUF FULL位标志是否存在有效数据),则这个数据将被传送到SPIDAT寄存器并被发送出去。否则所有位从SPIDAT寄存器移出后,SPICLK时钟立即停止。
●如果SPI INT ENA位(SPICTL,0)置1,则产生中断。
在典型应用中,SPISET引脚作为从SPI控制器的片选控制信号,在主SPI设各同从SPI设各之间传送信息的过程中,被置成低电平;当数据传送完毕后,该引脚置高。